pe_xl
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x
- Puppet >=5.3.0
- ,
This module has been deprecated by its author since Nov 15th 2019.
The reason given was: This module has been renamed puppetlabs/peadm. Available at https://github.com/puppetlabs/puppetlabs-peadm
Tasks:
- agent_install
- agent_upgrade
- code_manager
- configure_node_groups
Plans:
- pe_xl
- configure
- install
- upgrade
Start using this module
Documentation
Puppet Enterprise Extra Large
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.
Documentation
See this README file and any documents in the docs directory.
Architecture
Installation
These are just sketched out instructions right now. It's likely there are big gaps still.
Prepare the Control Repositories
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.
Installing the Primary Master
-
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
Installing the PuppetDB Database
- 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
Installing a Compile Master
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"
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Tasks in this module release
divert_code_manager
Divert the code manager live-dir setting
What are plans?
Modules can contain plans that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Dependencies
- puppetlabs/stdlib (>= 4.20.0 < 6.0.0)
- WhatsARanjit/node_manager (>= 0.6.1 < 2.0.0)