Skip to content

A Puppet module defining Bolt plans used to automate Puppet Enterprise deployments

License

Notifications You must be signed in to change notification settings

Jo-Lillie/puppetlabs-peadm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Puppet Enterprise (pe) Administration (adm) Module

This Puppet module contains Bolt plans used to deploy and manage Puppet Enterprise infrastructure. Plans are provided to automate common lifecycle activities in order to increase velocity and reduce the possibility of human error incurred by manually performing these activities.

The peadm module is able to deploy and manage Puppet Enterprise 2019.7 and higher for Standard, Large, and Extra Large architectures.

Table of Contents

Expectations and support

While the peadm module was initially built by the Puppet Solutions Architecture team to streamline particularly large and complex Puppet Enterprise deployments, but has matured to a point where we believe that users with a reasonable understanding of Puppet Enterprise architecture can use it on their own.

As a Puppet Enterprise customer this tool is supported through Puppet Enterprise's standard and premium support.puppet.com service, and if you have questions or need assistance, you are welcome to reach out to your Support team for help, or to talk to your Sales or Technical Account Manager contacts to arrange a chat with one of us on the Solutions Architect team.

We also love contributions! We're more than happy to also chat about any ideas you may have for improving this module, or offer guidance on ways you could get involved.

Overview

The normal usage pattern for peadm is as follows.

  1. Users set up a Bolt host from which they can run peadm plans. The Bolt host can be any machine that has ssh access to all of the PE nodes.
  2. Users run the peadm::install plan to bootstrap a new PE cluster. Depending on the architecture chosen, peadm may create some node groups in the classifier to set parameters on the built-in puppet_enterprise module, tuning it for large or extra large architectures.
  3. Users use and operate their PE cluster as normal. The peadm module is not used again until the next upgrade.
  4. When it is time to upgrade, users run the peadm::upgrade plan from their Bolt host to accelerate and aid in the upgrade process.

What peadm affects

  • The peadm::install plan adds a number of custom OID trusted facts to the certificates of PE infrastructure nodes as it deploys them. These trusted facts are later used by the plans to quickly and correctly identify nodes in particular roles.
  • Up to four node groups may be created to help configure puppet_enterprise class parameters for PE infrastructure roles. The most notable configuration is the designation of compilers as being either "A" or "B" nodes for availability.

What peadm does not affect

  • The peadm module is not required to exist or be present outside of the point(s) in time it is used to create a new PE cluster, or upgrade an existing cluster. No new Puppet classes or other persistent content not provided out-of-box by PE itself is applied to PE infrastructure nodes by the peadm module.
  • Having used the peadm module to install or to upgrade a PE cluster is not known to affect or curtail the ability to use any normal, documented PE procedures, e.g. failover to a replica, or manual upgrade of a cluster.

Requirements

  • Puppet Enterprise 2019.8.1 or newer (tested with PE 2021.7)
  • Bolt 3.17.0 or newer (tested with Bolt 3.21.0)
  • EL 7, EL 8, Ubuntu 18.04, or Ubuntu 20.04
  • Classifier Data enabled. This PE feature is enabled by default on new installs, but can be disabled by users if they remove the relevant configuration from their global hiera.yaml file. See the PE docs for more information.

Usage

Follow the links below to usage instructions for each peadm plan.

Reference

Information from the Puppet documentation site that will help you understand which architecture is right for you.

Documentation pertaining to additional uses of peadm.

Getting Help

  • If you find bugs with this module, please make use of issues in the project on GitHub
  • If you are a Puppet Enterprise (PE) customer that uses peadm to manage a deployment of PE and are currently having an outage or need assistance troubleshooting another issue, e.g. upgrades, contact the Support Team

License

This codebase is licensed under Apache 2.0. However, the open source dependencies included in this codebase might be subject to other software licenses such as AGPL, GPL2.0, and MIT.

About

A Puppet module defining Bolt plans used to automate Puppet Enterprise deployments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Puppet 55.6%
  • Ruby 29.6%
  • Shell 11.2%
  • Pascal 1.3%
  • Python 1.1%
  • Dockerfile 0.8%
  • PowerShell 0.4%