#Puppet Deploy
####Table Of Contents
##Overview
Manages accounts on Jenkins and across Puppet servers to allow synchronisation of puppet environments across a cluster
##Module Description
This is intended for use with a Jenkins CI deployment server. It installs a private key SSH on Jenkins and public key on a Puppet CA. Jenkins then pushes environments to /etc/puppet/environments. Lsyncd is deployed on the Puppet CA to monitor for changes which it then propagates across the cluster. This is facilitated with RSync over SSH, for which the requisite keys are installed.
##Usage
###Jenkins CI Server
class { 'puppetdeploy':
is_jenkins => true,
jenkins_private_key => file('puppet:///modules/keys/jenkins_private_key'),
}
###Puppet CA Server
class { 'puppetdeploy':
is_puppet_ca => true,
jenkins_public_key => file('puppet:///modules/keys/jenkins_public_key'),
puppet_private_key => file('puppet:///modules/keys/puppet_private_key'),
puppet_masters => [
'puppet0',
'puppet1',
'puppet2',
],
}
###Puppet Master Server
class { 'puppetdeploy':
is_puppet_master => true,
puppet_public_key => file('puppet:///modules/keys/puppet_private_key'),
}
##Dependencies