routes.yaml: Advanced plugin routing

The routes.yaml file overrides configuration settings involving indirector termini, and allows termini to be set in greater detail than puppet.conf allows.

The routes.yaml file makes it possible to use certain extensions to Puppet, most notably PuppetDB. Usually you edit this file only to make changes that are explicitly specified by the setup instructions for an extension you are trying to install.

Location

The routes.yaml file is located at $confdir/routes.yaml by default. Its location is configurable with the route_file setting.

The location of the confdir depends on your operating system. See the confdir documentation for details.

Example

---
primary server:
  facts:
    terminus: puppetdb
    cache: yaml

Format

The routes.yaml file is a YAML hash.

Each top level key is the name of a run mode (server, agent, or user), and its value is another hash.

Each key of the second-level hash is the name of an indirection, and its value is another hash.

The only keys allowed in the third-level hash are terminus and cache. The value of each of these keys is the name of a valid terminus for the indirection named above.