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


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.