Puppet Enterprise 2021.0
Welcome to Puppet Enterprise® 2021.0
PE software architecture
Component versions in recent PE releases
FIPS 140-2 enabled PE
Getting support
Using the PE docs
Puppet platform documentation for PE
API index
Release notes
PE release notes
PE known issues
Platform release notes
Puppet release notes
Puppet 7.4.1
Resolved issues
Puppet 7.4.0
New features
Resolved issues
Puppet 7.3.0
New features
Enhancements
Resolved issues
Puppet 7.2.0
Puppet 7.1.0
Enhancements
Resolved issues
Puppet 7.0.0
New features
Enhancements
Deprecations and removals
Resolved issues
Puppet known issues
Puppet Server release notes
Puppet Server known Issues
PuppetDB release notes (link)
Facter release notes
Facter 4.0.51
Facter 4.0.50
Facter 4.0.49
Facter 4.0.48
Facter 4.0.47
Facter 4.0.46
Facter known issues
What's new since Puppet 6?
Getting started with Puppet Enterprise
Install PE
Add nodes to the inventory
Add code and set up Code Manager
Manage Apache configuration on *nix targets
Add a module
Configure your desired state
Organize webserver configurations with roles and profiles
Manage IIS configuration on Windows targets
Add a module
Configure your desired state
Organize webserver configurations with roles and profiles
Next steps
Installing
Supported architectures
System requirements
Hardware requirements
Supported operating systems
Supported browsers
System configuration
What gets installed and where?
Installing Puppet Enterprise
Purchasing and installing a license key
Installing agents
Installing compilers
Installing PE client tools
Uninstalling
Upgrading
Upgrading Puppet Enterprise
Upgrading agents
Configuring Puppet Enterprise
Tuning infrastructure nodes
Methods for configuring PE
Configuring Puppet Server
Configuring PuppetDB
Configuring security settings
Configuring proxies
Configuring the console
Configuring orchestration
Configuring ulimit
Writing configuration files
Analytics data collection
Static catalogs
Configuring disaster recovery
Disaster recovery
Configure disaster recovery
Accessing the console
Managing access
User permissions and user roles
Creating and managing local users and user roles
Connecting LDAP external directory services to PE
Working with user groups from a LDAP external directory
Connect a SAML identity provider to PE
Token-based authentication
RBAC API v1
Endpoints
Forming RBAC API requests
Users endpoints
User group endpoints
User roles endpoints
Permissions endpoints
Token endpoints
LDAP endpoints
SAML endpoints
Password endpoints
RBAC service errors
Configuration options
RBAC API v2
User group endpoints
Tokens endpoints
Activity service API
Forming activity service API requests
Event types reported by the activity service
Events endpoints
Monitoring and reporting
Monitoring infrastructure state
Viewing and managing packages
Value report
Infrastructure reports
Analyzing changes across Puppet runs
Viewing and managing Puppet Server metrics
Getting started with Graphite
Available Graphite metrics
Status API
Authenticating to the status API
Forming requests to the status API
JSON endpoints
Activity service plaintext endpoints
Metrics endpoints
The metrics API
Managing nodes
Adding and removing agent nodes
Adding and removing agentless nodes
How nodes are counted
Running Puppet on nodes
Grouping and classifying nodes
Making changes to node groups
Environment-based testing
Preconfigured node groups
Managing Windows nodes
Designing system configs: roles and profiles
The roles and profiles method
Configuring roles and profiles
Rules for profile classes
Rules for role classes
Methods for data lookup
Roles and profiles example
Configure Jenkins master servers with roles and profiles
Set up your prerequisites
Choose component modules
Write a profile
Set data for the profile
Write a role
Assign the role to nodes
Designing advanced profiles
First refactor: Split out Java
Second refactor: Manage the heap
Third refactor: Pin the version
Fourth refactor: Manually manage the user account
Fifth refactor: Manage more dependencies
Sixth refactor: Manage logging and backups
Seventh refactor: Use a reverse proxy for HTTPS
The final profile code
Designing convenient roles
First approach: Granular roles
Second approach: Conditional logic
Third approach: Nested roles
Fourth approach: Multiple roles per node
Fifth approach: Super profiles
Sixth approach: Building roles in the node classifier
Node classifier API v1
Forming node classifier requests
Groups endpoint
Groups endpoint examples
Classes endpoint
Classification endpoint
Commands endpoint
Environments endpoint
Nodes check-in history endpoint
Group children endpoint
Rules endpoint
Import hierarchy endpoint
Last class update endpoint
Update classes endpoint
Validation endpoints
Node classifier errors
Node classifier API v2
Classification endpoint
POST /v2/classified/nodes/<name>
Node inventory API
Managing patches
Configuring patch management
Patching nodes
Orchestrating Puppet runs, tasks, and plans
How Puppet orchestrator works
Setting up the orchestrator workflow
Configuring Puppet orchestrator
Running Puppet on demand
Running Puppet on demand from the console
Running Puppet on demand from the CLI
Running Puppet on demand with the API
Tasks in PE
Installing tasks
Running tasks in PE
Running tasks from the console
Running tasks from the command line
Stop a task in progress
Inspecting tasks
Writing tasks
Plans in PE
Plans in PE versus Bolt plans
Installing plans
Running plans in PE
Running plans from the console
Running plans from the command line
Inspecting plans
Writing plans
Writing plans in Puppet language
Writing plans in YAML
Puppet orchestrator API v1 endpoints
Puppet orchestrator API: forming requests
Puppet orchestrator API: command endpoint
Puppet orchestrator API: events endpoint
Puppet orchestrator API: inventory endpoint
Puppet orchestrator API: jobs endpoint
Puppet orchestrator API: scheduled jobs endpoint
Puppet orchestrator API: plans endpoint
Puppet orchestrator API: plan jobs endpoint
Puppet orchestrator API: tasks endpoint
Puppet orchestrator API: root endpoint
Puppet orchestrator API: usage endpoint
Puppet orchestrator API: scopes endpoint
Puppet orchestrator API: error responses
Migrating Bolt tasks and plans to PE
Managing and deploying Puppet code
Managing environments with a control repository
Managing environment content with a Puppetfile
Managing code with Code Manager
How Code Manager works
Configure Code Manager
Deploying Code without blocking requests to Puppet Server
Customize Code Manager configuration in Hiera
Triggering Code Manager on the command line
Triggering Code Manager with a webhook
Triggering Code Manager with custom scripts
Troubleshooting Code Manager
Code Manager API
Managing code with r10k
Configure r10k
Customizing r10k configuration
Deploying environments with r10k
r10k command reference
About file sync
SSL and certificates
Regenerate the console certificate
Regenerate infrastructure certificates
Use an independent intermediate certificate authority
Use a custom SSL certificate for the console
Change the hostname of a primary server
Generate a custom Diffie-Hellman parameter file
Enable TLSv1
Maintenance
Backing up and restoring Puppet Enterprise
Database maintenance
Troubleshooting
Log locations
Troubleshooting installation
Troubleshooting disaster recovery
Troubleshooting puppet infrastructure run commands
Troubleshooting connections between components
Troubleshooting the databases
Troubleshooting backup and restore
Troubleshooting Code Manager
Troubleshooting Windows