# Kitchen::Provisioner::Cfengine A [CFEngine](http://cfengine.com/) provisioner for [Test Kitchen](http://kitchen.ci/). ## Installation Add this line to your application's Gemfile: ```ruby gem 'kitchen-cfengine' ``` And then execute: $ bundle Or install it yourself as: $ gem install kitchen-cfengine ## Provisioner Configuration The following attributes may be set at the provisioner level: * `name` - cfengine * `cfenging_type` - either `community` or `enterprise`, defaults to `community` * `cfengine_community_quick_install_url` - url for the cfengine-community quick install script, defaults to `http://s3.amazonaws.com/cfengine.packages/quick-install-cfengine-community.sh` * `cfengine_enterprise_quick_install_url` - url for the cfengine-enterprise quick install script, defaults to `http://s3.amazonaws.com/cfengine.packages/quick-install-cfengine-enterprise.sh` * `chef_omnibus_url` - url for chef omnibus install, defaults to `https://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 itself * `cf_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 to `1` * `cfengine_files` - specifies a directory that will be copied into `/var/cfengine/` on the VM, defaults to `test/cfengine_files` Additionally you may set the `run_list` attribute at the suite level to run a specific policy file. ## Example Usage 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 ```