retrospec puppet

Make your Puppet modules sexy.

What is Puppet Retrospec?

Puppet Retrospec is the only tool you need to generate puppet code, tests, modules, facts, types, providers, data and everything else.

Test suite scaffolding generator

Stop writing tests by hand.

Time saver

Over 1,000,000+ hours saved.

Retrofit technology

Prettify your modules.

Module scaffolding generator

Stop writing modules by hand.

Customizable templates

Change whatever you need.

Module file synchronization for teams

Keep your modules up-to-date.

Get Started


	gem install puppet-retrospec

Using an existing module

	cd [your-module-directory]
	retrospec puppet

Using task generators

	# Options:
	-n, --name=      	The name of the task you wish to create
	-p, --task-params=	The task parameter names separated by commas (default: name)
	-t, --task-type=	The task type of the task (bash, generic, ruby, python, node, powershell) (default: bash)
	# Examples:
	retrospec puppet new_task -n my_task
	retrospec puppet new_task -n my_task -p my_param_1,my_param_2
	retrospec puppet new_task -n my_taks -t ruby

Using fact generators

	# Options:
	# -n, --name=	The name of the fact you wish to create

	# Examples:
	retrospec puppet new_fact -n my_fact

Using provider generators

	# Options:
	# -n, --name=    The name of the provider you wish to create
	# -t, --type=    The type name of the provider

	# Examples:
	retrospec puppet new_provider -n my_provider -t my_provider_type

Using function generators

	# Options:
	# -n, --name=			The name of the function you wish to create
	# -t, --type=			The version type of the function (v3,v4,native) (default: v4)
	# -u, --test-type=		The type of test file to create (rspec, ruby) (default: rspec)
	# -r, --return-type= 	The return type of the function (rvalue, statement) (default: rvalue)

	# Examples:
	retrospec puppet new_function -n my_function
	retrospec puppet new_function -n my_function -t v3
	retrospec puppet new_function -n my_function -u ruby
	retrospec puppet new_function -n my_function -r statement

Using module data generators

	# Options:
	# -b, --backend-type=	Which hiera backend type to use (hiera, data_hash, lookup_key, data_dig) (default: hiera)
	# -n, --backend-name=	The name of the custom backend (default: custom)
	# -t, --function-type=	What type of function to create the backend type with (native or v4) (default: native)
	# Examples:
	retrospec puppet module_data
	retrospec puppet module_data -b data_hash
	retrospec puppet module_data -n my_backend
	retrospec puppet module_data -t v4


Retrospec Puppet is made by Corey Osman at NWOPS, LLC 100% FREE under the MIT License


I hope you find Retrospec Puppet useful.
Feel free to get in touch if you have any questions or suggestions.

Want to see more tools like retrospec puppet?

Tweet about #retrospec-puppet and #puppet-debugger related resources/content at @nw_ops

Hire us to create specialized devops tools for your environment or extend the capabilities of retrospec-puppet or other tools we have created.

DevOps Tooling and Custom Software

Get Connected