Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Specifying Puppet catalog behavior with Cucumber
Ruby Puppet

Merge pull request #23 from borisyukd/master

Fix deprecated Puppet.parse_config
latest commit 0534ad7eb7
@petems authored
Failed to load latest commit information.
features test compatibility upto 2.7.12
gemfiles Remove the apprasial Gemfile.lock
lib fix deprecated Puppet.parse_config
man add a little more structure
spec add support for guard
.gitignore Added check for Puppet version
.travis.yml Allowing failures for 3+
Appraisals Different Gemfiles for each version of puppet
ChangeLog bump version
Gemfile Initial cleanup to get running on Travis
Guardfile add support for guard
LICENSE initial import of cucumber-puppet Added Travis badge
Rakefile Tests, test s'all the same to me...
VERSION.yml bump version
cucumber-puppet.gemspec Different Gemfiles for each version of puppet


Build Status

The project was discontinued. I'm seeing if I can resurect it

Currently cucumber-puppet doesnt support Ruby 1.9+ or any puppetversion beyond 2.7...

Cucumber-puppet is a tool for specifying Puppet catalog behavior. It uses Cucumber features as specifications and provides the necessary glue to access a node's catalog from Cucumber's step definitions.


Install cucumber-puppet

$ gem install cucumber-puppet

Go to your Puppet directory

$ cd puppet

Initialise the infrastructure

$ cucumber-puppet-gen world

Create a default policy and adapt it to your needs

$ cucumber-puppet-gen policy
$ vim features/catalog/policy.feature

Copy YAML node files into place

$ mkdir features/yaml
$ cp /var/lib/puppet/yaml/node/ features/yaml

Apply your policy

$ cucumber-puppet features/catalog/policy.feature

An example use case can be found at

Further documentation is available in the wiki.


Many thanks to Bernd Ahlers for getting me started with cucumber, rspec and ruby.

cucumber-puppet was inspired by Lindsay Holmwood's cucumber-nagios.

Something went wrong with that request. Please try again.