The bootstrap task module
Ruby PowerShell Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
locales
spec
tasks
.gitattributes
.gitignore
.pmtignore
.project
.rspec
.rubocop.yml
.rubocop_todo.yml
.sync.yml
.travis.yml
.yardopts
CHANGELOG.md
CONTRIBUTING.md
Gemfile
LICENSE
MAINTAINERS.md
NOTICE
README.md
Rakefile
appveyor.yml
metadata.json

README.md

bootstrap

Table of Contents

  1. Description
  2. Requirements
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the task is doing and how
  5. Limitations - OS compatibility, etc.
  6. Getting help - Some Helpful commands

Description

This module provides the bootstrap task. This allows you to install puppet-agent on un-puppeted hosts via the ssh transport.

Requirements

This module requires both the bolt task runner and a Puppet Enterprise 2017.3 or later master to be installed on the machine from which you are running bolt commands (the controller node). Machines receiving task requests must have bash for now. (See Limitations for more info.)

Usage

To run the bootstrap task, use the bolt command, specifying the PE master from which the puppet-agent package should be installed and to which the agent should submit its certificate for signing.

Example: Basic usage

On the command line:

  • For Linux, run bolt task run bootstrap::linux master=<master's fqdn> --nodes x,y,z --modulepath /path/to/modules
  • For Windows, run bolt task run bootstrap::windows master=<master's fqdn> --nodes x,y,z --modulepath /path/to/modules For all advanced examples below, simply replace bootstrap::linux by bootstrap::windows to perform the action on Windows.

Example: Verify the master's CA on initial connection

Optionally to validate the connection during the bootstrap process, specify the puppet master's CA cert by adding the cacert_content option: bolt task run bootstrap::linux master=<master's fqdn> cacert_content="$(cat /etc/puppetlabs/puppet/ssl/certs/ca.pem)" --nodes x,y,z --modulepath /path/to/modules

Example: Specify a custom certname

Optionally to install the puppet-agent with a certname other than the fqdn of the target node, specify the custom certname: bolt task run bootstrap::linux master=<master's fqdn> certname=<custom certname> --nodes x,y,z --modulepath /path/to/modules

Example: Specify custom dns alt names

Optionally to install the puppet-agent with custom dns alt names, specify the custom dns alt names: bolt task run bootstrap::linux master=<master's fqdn> dns_alt_names=<comma-separated list of alt names for the node> --nodes x,y,z --modulepath /path/to/modules (see Compile master installation documentation for more info).

You can also run tasks in the PE console. See PE task documentation for complete information.

Example: Specify a custom_attribute

Optionally to install the puppet-agent and adding a setting to puppet.conf and including it in the custom_attributes section of csr_attributes.yaml: bolt task run bootstrap master=<master's fqdn> custom_attribute=key=value --nodes x,y,z --modulepath /path/to/modules

Example: Specify a extension_request

Optionally to install the puppet-agent and adding a setting to puppet.conf and including it in the extension_requests section of csr_attributes.yaml: bolt task run bootstrap master=<master's fqdn> extension_request=key=value --nodes x,y,z --modulepath /path/to/modules

Reference

To view the available actions and parameters, on the command line, run puppet task show bootstrap::linux or puppet task show bootstrap::windows or see the bootstrap module page on the Forge.

Limitations

The bootstrap task currently installs the agent via the Puppet Enterprise package management tools, and FOSS repository support will be added later. See the Puppet Enterprise documentation for more information.

Getting Help

To display help for the bootstrap task, run puppet task show bootstrap::linux or puppet task show bootstrap::windows

To show help for the task CLI, run puppet task run --help or bolt task run --help