A CFEngine provisioner for Test Kitchen.
Add this line to your application's Gemfile:
gem 'kitchen-cfengine'
And then execute:
$ bundle
Or install it yourself as:
$ gem install kitchen-cfengine
The following attributes may be set at the provisioner level:
name
- cfenginecfenging_type
- eithercommunity
orenterprise
, defaults tocommunity
cfengine_community_quick_install_url
- url for the cfengine-community quick install script, defaults tohttp://s3.amazonaws.com/cfengine.packages/quick-install-cfengine-community.sh
cfengine_enterprise_quick_install_url
- url for the cfengine-enterprise quick install script, defaults tohttp://s3.amazonaws.com/cfengine.packages/quick-install-cfengine-enterprise.sh
chef_omnibus_url
- url for chef omnibus install, defaults tohttps://www.getchef.com/chef/install.sh
cfengine_policy_server_address
- optional IP address or hostname for policy server, if no address is provided the VM is bootstrapped to itselfcf_agent_args
- arguments to pass to cf-agent on provisioning, defaults to-KI
cf_agent_runs
- number of times to run cf-agent, useful if multiple runs are needed for full convergence, defaults to1
cfengine_files
- specifies a directory that will be copied into/var/cfengine/
on the VM, defaults totest/cfengine_files
Additionally you may set the run_list
attribute at the suite level to run a specific policy file.
Below is a sample .kitchen.yaml
file that will install CFEngine Enterprise on CentOS 6.5, bootstrap it to the remote policy hub 192.168.33.33
, then run the my_test.cf
policy file with the -KI -D testrun
arguments:
---
driver:
name: vagrant
provisioner:
name: cfengine
cfenging_type: enterprise
cfengine_policy_server_address: 192.168.33.33
cf_agent_args: -KI -D testrun
platforms:
- name: centos-6.5
driver:
box: chef/centos-6.5
suites:
- name: default
run_list:
- my_test_.cf