This Puppet module contains profile classes used to deploy an at-scale Puppet Enterprise architecture.
It SHOULD contain instructions for how to set that all up, too. Right now it doesn't. Big To-do.
Note pending more detailed instructions:
- This deployment depends on and assumes the use of trusted facts. Specifically,
pp_role
andpp_environment
. - This deployment assumes that at least for PE infrastructure nodes, Puppet certnames are correct, resolvable FQDNs.
- This deployment assumes the control repository to manage PE is independent of the normal "customer" control-repo.
See this README file and any documents in the docs directory.
These are just sketched out instructions right now. It's likely there are big gaps still.
You'll need two control repositories configured. One dedicated to managing Puppet Enterprise nodes (consider it kinda like an appliance), and another for your regular Puppet code used to manage your infrastructure.
-
Download and extract the Puppet Enterprise installer
-
Place the csr_attributes.yaml file from installer/primary-master in /etc/puppetlabs/puppet/csr_attributes.yaml
-
Place the pe.conf file from installer/primary-master in the working directory, and edit it to fill in required values
-
Run the installer, passing the appropriate flags to use the prepared pe.conf file
-
Set up the ssh private keys needed to access the configured control repositories
-
For each environment configured (however many you want to initially deploy), run e.g.
puppet code deploy production --wait puppet code deploy pe_production --wait
-
Using the same list of environments deployed above, run e.g.
puppet apply --environment pe_production --exec ' class { "pe_xl::node_manager": environments => ["production", "pe_production"], } '
-
Perform the PuppetDB Database installation (described below)
-
Run
puppet agent -t
- Download and extract the Puppet Enterprise installer
- Place the csr_attributes.yaml file from installer/puppetdb-database in /etc/puppetlabs/puppet/csr_attributes.yaml
- Place the pe.conf file from installer/puppetdb-database in the working directory, and edit it to fill in required values
- Run the installer, passing the appropriate flags to use the prepared pe.conf file
- Finish the Primary Master installation (described above)
- Run
puppet agent -t
curl -k https://primary-master.example.com:8140/packages/current/install.bash | sudo bash -s \
main:certname=<certname> \
extension_requests:pp_role="pe_xl::compile_master" \
extension_requests:pp_environment="pe_production"