• Stars
    star
    100
  • Rank 340,703 (Top 7 %)
  • Language
    Ruby
  • License
    ISC License
  • Created over 14 years ago
  • Updated about 11 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Specifying Puppet catalog behavior with Cucumber

cucumber-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.

Quickstart

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/localhost.example.com.yaml features/yaml

Apply your policy

$ cucumber-puppet features/catalog/policy.feature

An example use case can be found at https://github.com/nistude/cucumber-puppet.example.

Further documentation is available in the wiki.

Acknowledgements

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

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

More Repositories

1

tugboat

A command line tool for interacting with your DigitalOcean droplets.
Ruby
1,454
star
2

vagrant-puppet-install

A Vagrant plugin that ensures the desired version of Puppet is installed via the Puppet Labs package repo.
Ruby
69
star
3

petems-hiera_vault

A hiera backend for access to secrets being stored in HashiCorp Vault
Ruby
45
star
4

puppet-install-shell

A shell script to install puppet on multiple distros
Shell
32
star
5

ansible-json

A basic callback_plugin to output to json
Python
21
star
6

homebrew-vault-prebuilt

Brew formula to install HashiCorp Vault with pre-built binaries
Ruby
17
star
7

cucumber-puppet.example

Example project of cucumber-puppet usage
Ruby
15
star
8

petems-swap_file

A Puppet module to manage swapfiles for Linux Environments
Ruby
13
star
9

riot_api

A Ruby wrapper for the Riot API for League of Legends - https://developer.riotgames.com/api/
Ruby
12
star
10

vagrant-vault-softhsm

Shell
11
star
11

csv-to-md-table-action

A Github action to convert CSV to markdown
JavaScript
10
star
12

puppet-doc-lint

Check your puppet files for RDoc coverage
Ruby
6
star
13

terraform-provider-extip

A Terraform provider for a data source to get an external IP
Go
6
star
14

finalterm-OSX

My attempt to get FinalTerm working on OSX
6
star
15

vault-cert-info

A CLI app to fetch all certificates from a Vault PKI backend
Go
5
star
16

vault-plugin-database-mockdb

An example dynamic credentials secret plugin for Vault
Go
4
star
17

server_spec_example

Basic Vagrant example for server-spec
Ruby
4
star
18

gsubular

Like Rubular...but for gsub!
Haml
4
star
19

petems-cockpit

Module for installing and managing Cockpit (http://cockpit-project.org/)
Ruby
3
star
20

vagrant-terraform-enterprise

Shell
3
star
21

puppet-hiera-vault-vagrant

Puppet
3
star
22

tfvar-to-tfevar

Go
3
star
23

infracoding-with-terraform-testcon-2019

The code to accompany my Infracoding with Terraform talk
Makefile
3
star
24

time-to-stretch

A Electron App to remind you to stretch
JavaScript
2
star
25

vault-log-signing-example

An example of using Vault to sign log lines
Shell
2
star
26

boxen-module-maker

Make new boxen modules quickly and easy from the command-line.
Ruby
2
star
27

ansible-html

A basic callback_plugin to output to an HTML
Python
2
star
28

puppet-vault-function-vagrant

A Vault setup to use a Deferred function to look up secrets from Vault using the agent's cert as authentication
Puppet
2
star
29

s3mini

Go
2
star
30

petems-openvas

Shell
2
star
31

csv-table-comment-example

2
star
32

seyren-in-a-box

A Vagrant build for Graphite, Statsd and Seyren
Puppet
2
star
33

faraday-scrublogs

Faraday middleware for removing sensitive data from the faraday logs
Ruby
1
star
34

puppet-seyren

A puppet module for Seyren
Puppet
1
star
35

arbitrary-terraform-code

HCL
1
star
36

vagrant-centos-oracle-shell

Shell
1
star
37

vault-hsm-workshop

Shell
1
star
38

vagrant-adam

A plugin to run a script before anything else gets done!
Ruby
1
star
39

vault-raft-docker-pki-test

Shell
1
star
40

vagrant-keepalived

Ruby
1
star
41

image-resizer-gh-action

Shell
1
star
42

dotfiles

My dotfiles, mainly for Mac/Darwin but seems to work in other environments too!
Ruby
1
star
43

aws-ptfe-sandbox

HCL
1
star
44

docker-compose-nodejs-datadog

JavaScript
1
star
45

compile-masters-control-repo

A Control repo demoing Compile Masters for Puppet Enterprise
Puppet
1
star
46

beaker-windows

A fork of Beaker specifically for Windows Powershell provider
Ruby
1
star
47

aws-vault-ssh

HCL
1
star
48

gitsweeper

A CLI tool for cleaning up git repos
Go
1
star
49

terraform-provider-sshconfig

Go
1
star
50

terraform-provider-extip-v2

Go
1
star
51

SublimeServerspec

1
star
52

classroom-control-pi

Puppet
1
star
53

git-merged-master

Go
1
star
54

githelpy

Go
1
star
55

vault-provider-psql-example

HCL
1
star
56

vaultpolicy2json

Gherkin
1
star
57

client-inspect

A library that injects an inspector to a Golang http.Client object to show traffic
Go
1
star
58

go-sshconfig

A golang library for parsing and writing SSH config files
Go
1
star
59

petems-puppet-module-skeleton

A Puppet Skeleton for module development
HTML
1
star
60

petems-mozilla_ssh_hardening

A module to configure SSH according to the Mozilla hardening guidelines
Ruby
1
star
61

killgrave-docker-compose-example

Basic example of Killgrave in docker-compose
1
star
62

JavaSpreadsheet

The first ever full Java program I ever made, it was part of my first year University Java Application module.
Java
1
star