Open source Puppet 6.10
- Welcome to Puppet 6.10
- Release notes
- Getting started with Puppet
- Installing and upgrading
- Configuring Puppet
- 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
- Puppet Server's config files
- puppetserver.conf: Main config file
- auth.conf: Access control
- webserver.conf: Jetty web server config
- web-routes.conf: Mount points for component services
- global.conf: Trapperkeeper settings
- ca.conf: CA service access control (deprecated)
- master.conf: Authorization by HTTP header (deprecated)
- product.conf: Configuring Product-level Interactions (optional)
- logback.xml: Logging level and location
- Advanced logging configuration
- Bootstrap upgrade notes
- Adding file server mount points
- Checking the values of settings
- Editing settings on the command line
- Configuration settings reference
- Settings that differ under Puppet Server
- Important directories and files
- Environments
- Modules
- Puppet services and tools
- Puppet Server
- Index
- About Puppet Server
- Release Notes
- Deprecated features
- Compatibility with Puppet agent
- Installing Puppet Server
- Configuring Puppet Server
- Differing behavior in puppet.conf
- Using and extending Puppet Server
- Known issues and workarounds
- Administrative API endpoints
- CA v1 API
- Server-specific Puppet API endpoints
- Status API endpoints
- Metrics API endpoints
- Developer information
- The Puppet language
- Language visual index
- The Puppet language style guide
- Files and paths on Windows
- Code comments
- Variables
- Resources
- Relationships and ordering
- Classes
- Defined resource types
- Bolt tasks
- Type aliases
- Expressions and operators
- Conditional statements and expressions
- Function calls
- Built-in functions
- Node definitions
- Facts and built-in variables
- Reserved words and acceptable names
- Custom resources
- Values and data types
- Templates
- Advanced constructs
- Details of complex behaviors
- Writing custom functions
- Hiera
- Facter
- Resource types
- Tracking Puppet activity with reports
- Writing external node classifiers
- References (settings, functions, etc.)
- Man pages
- HTTP API
- Certificate authority and SSL
- Puppet's internals
- Experimental features
Puppet agents and masters communicate over HTTPS, exchanging structured data in JSON, or PSON which allows binary data.
Msgpack is an efficient serialization protocol that behaves similarly to JSON. It provides faster and more robust serialization for agent-master communications, without requiring many changes in our code.
Enabling Msgpack serialization
Enabling msgpack is easy, but first, it must be installed because the gem is not included in the puppet-agent or puppetserver packages.
- Install the msgpack gem on your master and all agent nodes.
If you are using the Puppet Enterprise test environment, make sure to use PE gem command instead of the system gem command.
On *nix nodes, run the following command:/opt/puppetlabs/puppet/bin/gem install msgpack
On Windows nodes, run the following command:"C:\Program Files\Puppet Labs\Puppet\sys\ruby\bin\gem" install msgpack
On Puppet Server, run the following command and then restart the Puppet Server service:puppetserver gem install msgpack
- In the
[agent]
or[main]
section ofpuppet.conf
on any number of agent nodes, set thepreferred_serialization_format
setting tomsgpack
.
After this is configured, the Puppet master server uses msgpack when serving any agents that have preferred_serialization_format
set to msgpack
. Any agents without that setting continue to receive PSON as normal.