newcontext-oss/kitchen-terraform

View on GitHub
kitchen.yml

Summary

Maintainability
Test Coverage
---
driver:
  name: terraform
provisioner:
  name: terraform
transport:
  name: terraform
verifier:
  name: terraform
  fail_fast: false
platforms:
  - name: macos
    transport:
      client: terragrunt
  - name: ubuntu
  - name: windows
suites:
  - name: attributes
    driver:
      variables:
        passthrough: value
    transport:
      root_module_directory: test/terraform/attributes
    verifier:
      systems:
        - name: default
          backend: local
          controls:
            - default
          profile_locations:
            - test/integration/attributes
          reporter:
            - cli
            - json:test/reports/inspec/default-attributes.json
            - junit:test/reports/inspec/default-attributes.junit.xml
            - junit2:test/reports/inspec/default-attributes.junit2.xml
        - name: attrs_outputs
          backend: local
          attrs_outputs:
            first_output: second_output
          controls:
            - attrs_outputs
          profile_locations:
            - test/integration/attributes
        - name: precedence
          backend: local
          attrs:
            - test/integration/attributes/Attribute File.yml
          attrs_outputs:
            first_output: second_output
            second_output: third_output
            output_third_output: first_output
          controls:
            - precedence
          profile_locations:
            - test/integration/attributes
  - name: backend-ssh
    excludes:
      - macos
      - windows
    transport:
      root_module_directory: test/terraform/backend-ssh
    verifier:
      systems:
        - name: bastion, hosts, key files, one remote profile location
          backend: ssh
          bastion_host_output: bastion_host
          bastion_port: 2223
          bastion_user: root
          hosts:
            - 172.21.0.2
          key_files:
            - test/terraform/backend-ssh/id_ed25519
          port: 22
          profile_locations:
            - https://github.com/brentm5/chef-compliance-profile-test.git
          user: root
        - name: hosts output, password, proxy command, shell, two local profile locations
          backend: ssh
          hosts_output: hosts
          password: root
          port: 2222
          profile_locations:
            - test/integration/backend-ssh/behaviour
            - test/integration/backend-ssh/state
          proxy_command: nc %h %p
          shell: true
          shell_command: /bin/sh
          shell_options: -x
          user: root
  - name: deprecated-driver-attributes
    includes:
      - macos
    driver:
      client: terragrunt
      root_module_directory: test/terraform/attributes
      variables:
        passthrough: value
    transport:
      name: ssh
    verifier:
      systems:
        - name: default
          backend: local
          controls:
            - default
          profile_locations:
            - test/integration/attributes
  - name: doctor-driver
    driver:
      client: /nonexistent/pathname
  - name: doctor-transport
    transport:
      client: /nonexistent/pathname
  - name: doctor-verifier
    verifier:
      systems: []
  - name: plug-ins
    driver:
      plugin_directory: test/terraform/PlugIns/PlugInDirectory
    transport:
      root_module_directory: test/terraform/PlugIns
    verifier:
      systems:
        - name: default
          backend: local
          profile_locations:
            - test/integration/plug-ins
  - name: variables
    driver:
      variable_files:
        - test/terraform/variables/variable_files/Variable File.tfvars
      variables:
        string: 'A String'
        map: '{ key = \"A Value\" }'
        list_of_strings: '[ \"Element One\", \"Element Two\" ]'
        list_of_maps: '[ { key = \"A List Of Maps Value\" } ]'
    transport:
      root_module_directory: test/terraform/variables
    verifier:
      systems:
        - name: variable_files
          backend: local
          controls:
            - variable_files
          profile_locations:
            - test/integration/variables
        - name: variables
          backend: local
          controls:
            - variables
          profile_locations:
            - test/integration/variables
  - name: workspace-one
    driver:
      variables:
        workspace: one
    transport:
      root_module_directory: test/terraform/workspace
    verifier:
      systems:
        - name: one
          backend: local
          profile_locations:
            - test/integration/workspace-one
  - name: workspace-two
    driver:
      variables:
        workspace: two
    transport:
      root_module_directory: test/terraform/workspace
    verifier:
      systems:
        - name: two
          backend: local
          profile_locations:
            - test/integration/workspace-two