Puppet Host Package =================== So, you're using puppet to manage your systems? Excellent. Now, you need a way to bootstrap them and setup the SSL certificates for each host. That's where this little script comes in. It will generate a package containing the SSL certificate and other needed files for a given host or hosts. The usage is fairly simple: puppet-host-package [options] hostname [hostname ...] Use the --help (-h) option for the available options. If no certificate exists for the host, puppetca is used to generate one. You generally want to run this script on your puppetmaster so that the certs that are generated will be usable on the puppetmaster without any further configuation. The date the certificate was generated is used as the package version. To extract the date from existing certificates, either pyOpenSSL >= 0.7 or openssl is needed. Without either of these, the current date will be used. By default, packages are created in the current directory. This is configurable. You might want to put them in a dedicated puppet-hosts repository, for example. In addition to setting options on the command line, options are read from ~/.puppethost if it exists. For example: # Path to the ssl certs ssldir = '/etc/puppet/ssl' # Overwrite existing certs, tarballs, and packages force = 'False' # Where to write packages destdir = '/srv/repos/yum/puppet-hosts' # Template for rpm spec files template = '/etc/puppet/ssl/template.spec' # Don't be too quiet verbose = 1