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
Hiera uses a key’s configured merge behavior in any lookup that doesn’t explicitly override it.
In any Hiera data source, including module data:
Use the
lookup_options
key to configure merge behavior. For example:
# <ENVIRONMENT>/data/common.yaml
lookup_options:
ntp::servers: # Name of key
merge: unique # Merge behavior as a string
"^profile::(.*)::users$": # Regexp: `$users` parameter of any profile class
merge: # Merge behavior as a hash
strategy: deep
merge_hash_arrays: true
Hiera uses the configured merge behaviors for these keys.
Note: The
hiera_*
functions always override configured merge behavior.