⛔ bolt.yaml options

Sections

Deprecated: bolt.yaml is deprecated and will be removed in a future version of Bolt. Configuration in this file at the user- and system-level should be set in bolt-defaults.yaml, while configuration at the project level should be set in bolt-project.yaml with transport configuration set in inventory.yaml

This page lists the configuration options that are available in the legacy configuration file, bolt.yaml. The bolt.yaml configuration file is supported in all project directories.

Options

apply_settings

A map of Puppet settings to use when applying Puppet code using the apply plan function or the bolt apply command.

  • Type: Hash

show_diff

Whether to log and report a contextual diff.

  • Type: Boolean

  • Default: false

apply_settings:
  show_diff: true

color

Whether to use colored output when printing messages to the console.

  • Type: Boolean

  • Default: true

color: false

compile-concurrency

The maximum number of simultaneous manifest block compiles.

  • Type: Integer

  • Default: Number of cores.

compile-concurrency: 5

concurrency

The number of threads to use when executing on remote targets.

  • Type: Integer

  • Default: 100 or 1/7 the ulimit, whichever is lower.

concurrency: 50

format

The format to use when printing results.

  • Type: String

  • Available values: human, json, rainbow

  • Default: human

format: json

hiera-config

The path to the Hiera configuration file.

  • Type: String

  • Default: project/hiera.yaml

hiera-config: "~/.puppetlabs/bolt/hiera.yaml"

inventoryfile

The path to a structured data inventory file used to refer to groups of targets on the command line and from plans. Read more about using inventory files in Inventory files.

  • Type: String

  • Default: project/inventory.yaml

inventoryfile: "~/.puppetlabs/bolt/inventory.yaml"

log

A map of configuration for the logfile output. Under log, you can configure log options for console and add configuration for individual log files, such as ~/.puppetlabs/bolt/debug.log. Individual log files must be valid filepaths. If the log file does not exist, then Bolt will create it before logging information.

  • Type: Hash

append

Whether to append output to an existing log file.

  • Type: Boolean

  • Default: true

level

The type of information to log.

  • Type: String

  • Available values: debug, error, info, notice, warn, fatal, any

  • Default: warn for console, notice for file

log:
  console:
    level: info
  "~/logs/debug.log":
    append: false
    level: debug

modulepath

An array of directories that Bolt loads content such as plans and tasks from. Read more about modules in Module structure.

  • Type: Array, String

  • Default:

modulepath:
- "~/.puppetlabs/bolt/modules"
- "~/.puppetlabs/bolt/site-modules"

plugin_hooks

A map of plugin hooks and which plugins a hook should use. The only configurable plugin hook is puppet_library, which can use two possible plugins: puppet_agent and task.

  • Type: Hash

plugin_hooks:
  puppet_library:
    plugin: puppet_agent
    version: 6.15.0
    _run_as: root

plugins

A map of plugins and their configuration data, where each key is the name of a plugin and its value is a map of configuration data. Configurable options are specified by the plugin. Read more about configuring plugins in Using plugins.

  • Type: Hash

plugins:
  pkcs7:
    keysize: 1024

puppetdb

A map containing options for configuring the Bolt PuppetDB client.

  • Type: Hash

cacert

The path to the ca certificate for PuppetDB.

  • Type: String

cert

The path to the client certificate file to use for authentication.

  • Type: String

connect_timeout

How long to wait in seconds when establishing connections with PuppetDB.

  • Type: Integer

  • Default: 60

key

The private key for the certificate.

  • Type: String

read_timeout

How long to wait in seconds for a response from PuppetDB.

  • Type: Integer

  • Default: 60

server_urls

An array containing the PuppetDB host to connect to. Include the protocol https and the port, which is usually 8081. For example, https://my-master.example.com:8081.

  • Type: Array

token

The path to the PE RBAC Token.

  • Type: String

puppetdb:
  cacert: "/etc/puppetlabs/puppet/ssl/certs/ca.pem"
  cert: "/etc/puppetlabs/puppet/ssl/certs/my-host.example.com.pem"
  connect_timeout: 120
  key: "/etc/puppetlabs/puppet/ssl/private_keys/my-host.example.com.pem"
  read_timeout: 120
  server_urls:
  - https://puppet.example.com:8081
  token: "~/.puppetlabs/token"

puppetfile

A map containing options for the bolt puppetfile install command.

  • Type: Hash

forge

A subsection that can have its own proxy setting to set an HTTP proxy for Forge operations only, and a baseurl setting to specify a different Forge host.

  • Type: Hash

proxy

The HTTP proxy to use for Git and Forge operations.

  • Type: String

puppetfile:
  forge:
    baseurl: https://forge.example.com
    proxy: https://forgeapi.example.com
  proxy: https://forgeapi.example.com

save-rerun

Whether to update .rerun.json in the Bolt project directory. If your target names include passwords, set this value to false to avoid writing passwords to disk.

  • Type: Boolean

  • Default: true

save-rerun: false

trusted-external-command

The path to an executable on the Bolt controller that can produce external trusted facts. External trusted facts are experimental in both Puppet and Bolt and this API may change or be removed.

  • Type: String

trusted-external-command: "/etc/puppetlabs/facts/trusted_external.sh"

Inventory configuration options

The bolt.yaml file also supports several top-level options that configure each of the transports Bolt uses to connect to targets, as well as the default transport used to connect to targets. The following top-level options are available:

  • transport

  • docker

  • local

  • pcp

  • remote

  • ssh

  • winrm

A detailed description of each option, their default values, and any available sub-options can be viewed in Transport configuration options.

Example file

# bolt.yaml
apply_settings:
  show_diff: true
color: false
compile-concurrency: 5
concurrency: 50
format: json
hiera-config: "~/.puppetlabs/bolt/hiera.yaml"
inventoryfile: "~/.puppetlabs/bolt/inventory.yaml"
log:
  console:
    level: info
  "~/logs/debug.log":
    append: false
    level: debug
modulepath:
- "~/.puppetlabs/bolt/modules"
- "~/.puppetlabs/bolt/site-modules"
plugin_hooks:
  puppet_library:
    plugin: puppet_agent
    version: 6.15.0
    _run_as: root
plugins:
  pkcs7:
    keysize: 1024
puppetdb:
  cacert: "/etc/puppetlabs/puppet/ssl/certs/ca.pem"
  cert: "/etc/puppetlabs/puppet/ssl/certs/my-host.example.com.pem"
  connect_timeout: 120
  key: "/etc/puppetlabs/puppet/ssl/private_keys/my-host.example.com.pem"
  read_timeout: 120
  server_urls:
  - https://puppet.example.com:8081
  token: "~/.puppetlabs/token"
puppetfile:
  forge:
    baseurl: https://forge.example.com
    proxy: https://forgeapi.example.com
  proxy: https://forgeapi.example.com
save-rerun: false
trusted-external-command: "/etc/puppetlabs/facts/trusted_external.sh"

# inventory configuration
transport: winrm
docker:
  cleanup: false
  service-url: https://docker.example.com
local:
  cleanup: false
  tmpdir: "/tmp/bolt"
pcp:
  job-poll-interval: 15
  job-poll-timeout: 30
remote:
  run-on: proxy_target
ssh:
  password: hunter2!
  user: bolt
winrm:
  password: hunter2!
  user: bolt
See an issue? Please file a JIRA ticket in our [DOCUMENTATION] project
Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.