inspec/lib/bundles/inspec-compliance
2016-04-29 01:12:53 +02:00
..
test/integration/default add integration tests for compliance plugin 2016-04-29 01:12:53 +02:00
.kitchen.yml add integration tests for compliance plugin 2016-04-29 01:12:53 +02:00
api.rb fix: make the plugin compatible with all versions of chef compliance 2016-04-13 16:27:57 -04:00
bootstrap.sh add integration tests for compliance plugin 2016-04-29 01:12:53 +02:00
cli.rb add integration tests for compliance plugin 2016-04-29 01:12:53 +02:00
configuration.rb add function tests for compliance command 2016-04-13 16:55:14 -04:00
http.rb fix: make the plugin compatible with all versions of chef compliance 2016-04-13 16:27:57 -04:00
README.md add integration tests for compliance plugin 2016-04-29 01:12:53 +02:00
support.rb add integration tests for compliance plugin 2016-04-29 01:12:53 +02:00
target.rb fix compliance plugin 2016-04-29 00:39:25 +02:00

InSpec Extension for Chef Compliance

This extensions offers the following features:

  • list available profiles in Chef Compliance
  • execute profiles directly from Chef Compliance locally
  • upload a local profile to Chef Compliance

To use the CLI, this InSpec add-on adds the following commands:

  • $ inspec compliance api_token server --token TOKEN --user USER - save the Chef Compliance API token for user
  • $ inspec compliance login - authentication of the API token against Chef Compliance
  • $ inspec compliance profiles - list all available Chef Compliance profiles
  • $ inspec compliance exec profile - runs a Chef Compliance profile
  • $ inspec compliance upload path/to/local/profile - uploads a local profile to Chef Compliance
  • $ inspec compliance logout - logout of Chef Compliance

Compliance profiles can be executed in two mays:

  • via compliance exec: inspec compliance exec profile
  • via compliance scheme: inspec exec compliance://profile

Integration Tests

At this point of time, InSpec is not able to pick up the token directly, therefore the integration test is semi-automatic at this point of time:

  • run kitchen converge
  • open https://192.168.251.2 and log in with user admin and password admin
  • click on user->about and obtain the refresh token
  • run kitchen verify with the required env variables:
COMPLIANCE_REFRESH_TOKEN=myrefreshtoken COMPLIANCE_ACCESS_TOKEN=mycompliancetoken b kitchen verify
-----> Starting Kitchen (v1.7.3)
-----> Verifying <default-ubuntu-1404>...
       Search `/Users/chartmann/Development/compliance/inspec/lib/bundles/inspec-compliance/test/integration/default` for tests
..................................

Finished in 6.35 seconds (files took 0.40949 seconds to load)
34 examples, 0 failures

       Finished verifying <default-ubuntu-1404> (0m6.62s).
-----> Kitchen is finished. (0m7.02s)
zlib(finalizer): the stream was freed prematurely.