Skip to content
Specifying Puppet catalog behavior with Cucumber
Ruby Puppet
Find file
New pull request
Latest commit 0534ad7 @petems Merge pull request #23 from borisyukd/master
Fix deprecated Puppet.parse_config


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.