Introducing Scaffold
I’ve just written and released Scaffold - a very simple Puppet
scaffolding templating tool. It integrates with Puppet to create a variety of
Puppet configuration and objects. You can install it via a gem currently: $ sudo gem install scaffold
It requires Puppet and will install the templater
gem as a dependency. You can then use it like so: * Basic Puppet configuration
(creates site.pp, fileserver.conf and supporting material in the Puppet
configuration directory): $ scaffold puppet
* Modules (it checks the Puppet
module path and creates the module in the first module path it finds): $ scaffold module _module_name_
* Nodes (assumes you’ve created the basic
Puppet configuration and creates nodes in Puppet configuration directory): $ scaffold node _node_name_
* Classes and Definitions: $ scaffold class _module_name class_name_
$ scaffold define _module_name define_name_
*
Functions: $ scaffold function _module_name function_name function_type_
The
function type can be statement or rvalue and defaults to statement if omitted.
-
Types and providers:
$ scaffold type _module_name type_name_
I’d welcome feedback and ideas (and code!) on how to extend it. The idea is that once we’ve got a strong working tool we’ll look to integrate the result into Puppet mainline as a provisioning and templating system.