Open source Puppet 6.28.0
Puppet 6.28.0
Introduction to Puppet
What is Puppet?
Why use Puppet desired state management?
Key concepts behind Puppet
The Puppet platform
Open source Puppet vs Puppet Enterprise (PE)
The Puppet ecosystem
Use cases
Puppet platform lifecycle
Navigating the documentation
Archived Puppet documentation
Glossary
Release notes
Puppet release notes
Puppet known issues
Puppet Server release notes
Puppet Server known issues
PuppetDB release notes (link)
Facter release notes
Facter known issues
Installing and configuring
Installing and upgrading
System requirements
Installing Puppet
Installing and configuring agents
Manually verify packages
Managing Platform versions
Upgrading
Configuring Puppet settings
Puppet settings
Key configuration settings
Puppet's configuration files
puppet.conf: The main config file
environment.conf: Per-environment settings
fileserver.conf: Custom fileserver mount points
puppetdb.conf: PuppetDB server locations
hiera.yaml: Data lookup configuration
autosign.conf: Basic certificate autosigning
csr_attributes.yaml: Certificate extensions
custom_trusted_oid_mapping.yaml: Short names for cert extension OIDs
device.conf: Network hardware access
routes.yaml: Advanced plugin routing
Configuring Puppet Server
Configuring Puppet Server
puppetserver.conf
auth.conf
webserver.conf
web-routes.conf
global.conf
ca.conf
server.conf
product.conf
logback.xml
Advanced logging configuration
Bootstrap upgrade notes
Adding file server mount points
Checking the values of settings
Editing settings on the command line
Configuration Reference
Differing behavior in puppet.conf
The Puppet platform
Puppet Server
About Puppet Server
Deprecated features
Primary server and agent compatibility
Installing Puppet Server
Configuring Puppet Server
Configuring Puppet Server
Puppet Server configuration files
auth.conf
ca.conf
global.conf
logback.xml
server.conf
metrics.conf
product.conf
puppetserver.conf
web-routes.conf
webserver.conf
Migrating to the HOCON auth.conf format
Advanced logging configuration
Differing behavior in puppet.conf
Using and extending Puppet Server
Subcommands
Using Ruby gems
Intermediate CA
Infrastructure certificate revocation list (CRL)
External SSL termination
Server metrics
Monitoring Puppet Server metrics
HTTP Client Metrics
Tuning guide
Applying metrics to improve performance
Submitting usage telemetry
Scaling Puppet Server
Restarting Puppet Server"
Developer information
Developer debugging
Running from source
Tracing code events
Puppet Server HTTP API
Puppet Server HTTP API overview
PSON
Puppet v3 API
Catalog
Node
Facts
File Bucket File
File Content
File Metadata
Report
Environments
Status
Puppet v4 API
Catalog API
CA v1 API
Certificate
Certificate Request
Certificate Status
Certificate Revocation List
Schemas (JSON)
Metrics API endpoints
v1 metrics
v2 (Jolokia) metrics
Status API endpoints
Services endpoint
Simple endpoint
Server-specific Puppet API endpoints
Environment classes
Environment modules
Static file content
Administrative API endpoints
Environment cache
JRuby pool
Bootstrap upgrade notes
Certificate authority and SSL
Puppet Server CA commands
Intermediate CA
Autosigning certificate requests
CSR attributes and certificate extensions
Regenerating certificates in a Puppet deployment
External CA
External SSL termination
PuppetDB
Facter
Facter: Core Facts
Custom facts overview
Writing custom facts
External facts
Configuring Facter with facter.conf
Hiera
About Hiera
Getting started with Hiera
Configuring Hiera
Creating and editing data
Looking up data with Hiera
Writing new data backends
Upgrading to Hiera 5
Environments
About environments
Creating environments
Environment isolation
Important directories and files
Code and data directory (codedir)
Config directory (confdir)
Main manifest directory
The modulepath
SSL directory (ssldir)
Cache directory (vardir)
Puppet services and tools
Puppet commands
Running Puppet commands on Windows
primary Puppet server
About Puppet Server
Puppet agent on *nix systems
Puppet agent on Windows
Puppet apply
Puppet device
Custom functions
Custom functions overview
Writing custom functions in the Puppet language
Writing custom functions in Ruby
Custom functions in Ruby overview
Ruby function signatures
Using special features in implementation methods
Iterative functions
Refactoring legacy 3.x functions
Deferring a function
Deferred functions overview
Using a template with Deferred values
Write a deferred function to store secrets
Integrations with secret stores
Classifying nodes
Puppet reports
Reporting
Report reference
Writing custom report processors
Report format
Built-in report processors
Puppet's internals
Agent-server HTTPS communications
Catalog compilation
Developing Puppet code
The Puppet language
Puppet language overview
Puppet language syntax examples
The Puppet language style guide
Files and paths on Windows
Code comments
Variables
Resources
Resource types
Resource Type Reference (Single-Page)
Core types cheat sheet
Optional resource types for Windows
Resource Type: exec
Using exec on Windows
Resource Type: file
Using file on Windows
Resource Type: filebucket
Resource Type: group
Using user and group on Windows
Resource types overview
Resource Type: notify
Resource Type: package
Using package on Windows
Resource Type: resources
Resource Type: schedule
Resource Type: service
Using service
Resource Type: stage
Resource Type: tidy
Resource Type: user
Relationships and ordering
Classes
Defined resource types
Bolt tasks
Expressions and operators
Conditional statements and expressions
Function calls
Built-in function reference
Node definitions
Facts and built-in variables
Accessing facts from Puppet code
Built-in variables
Reserved words and acceptable names
Custom resources
Develop types and providers with the Resource API
Resource API reference
Low-level method for developing types and providers
Type development
Provider development
Values, data types, and aliases
Type aliases
Typecasting
Strings
Numbers
Binary
Booleans
Arrays
Hashes
Regular expressions
Sensitive
Time-related data types
Undef
Default
Resource and class references
Resource types
Data type syntax
Abstract data types
Templates
Creating templates using Embedded Puppet
Creating templates using Embedded Ruby
Advanced constructs
Iteration and loops
Lambdas
Resource default statements
Resource collectors
Virtual resources
Exported resources
Tags
Run stages
Details of complex behaviors
Containment
Scope
Namespaces and autoloading
Securing sensitive data
Modules
Modules overview
Plug-ins in modules
Module cheat sheet
Installing and managing modules from the command line
Beginner's guide to writing modules
Module metadata
Documenting modules
Documenting modules with Puppet Strings
Puppet Strings style guide
Publishing modules
Contributing to Puppet modules
Designing system configs: roles and profiles
The roles and profiles method
Roles and profiles example
Designing advanced profiles
Designing convenient roles
Puppet Forge
Puppet Development Kit (PDK)
Puppet VSCode extension
Orchestration in Puppet
Example configurations
Manage NTP
Manage sudo
Manage DNS
Manage firewall rules
Forge examples
References
Experimental features
Msgpack support
Configuration Reference
Metaparameter reference
Built-in function reference
Ruby API for developing extensions
Puppet Man Pages