Coder Social home page Coder Social logo

puppetlabs-bootstrap's Introduction

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. Development - Guide for contributing to the module
  7. Getting help - Some Helpful commands

Description

This module provides the bootstrap task. This allows you to install Puppet agents on un-puppeted hosts via the ssh or winrm transports.

Requirements

This module requires both the bolt gem on the machine from which you are running bolt commands (the controller node), and a Puppet Enterprise 2017.3 or later master hosting agent repositories.

Linux machines receiving task requests must have bash for now. Windows machines must have PowerShell. (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 the environment

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

Example: Specify noop

Optionally to install the puppet-agent with noop: bolt task run bootstrap::linux master=<master's fqdn> set_noop=true--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='["<extension>=<value>"]' --nodes x,y,z --modulepath /path/to/modules

Reference

For detailed reference information, see the REFERENCE.md

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.

For an extensive list of supported operating systems, see metadata.json

The bootstrap task is tested to work with Windows Management Framework >= v3.0+ and .NET >= v4.6 on the supported Windows operating systems.

Development

Acceptance tests for this module leverage puppet_litmus. To run the acceptance tests follow the instructions here. You can also find a tutorial and walkthrough of using Litmus and the PDK on YouTube.

If you run into an issue with this module, or if you would like to request a feature, please file a ticket. Every Monday the Puppet IA Content Team has office hours in the Puppet Community Slack, alternating between an EMEA friendly time (1300 UTC) and an Americas friendly time (0900 Pacific, 1700 UTC).

If you have problems getting this module up and running, please contact Support.

If you submit a change to this module, be sure to regenerate the reference documentation as follows:

puppet strings generate --format markdown --out REFERENCE.md

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

puppetlabs-bootstrap's People

Contributors

david22swan avatar eimlav avatar pmcmaw avatar lionce avatar tphoney avatar sheenaajay avatar iristyle avatar davids avatar sanfrancrisko avatar michaeltlombardi avatar hunner avatar mikaelsmith avatar glennsarti avatar zoojar avatar eputnam avatar conormurray95 avatar florindragos avatar steveax avatar daianamezdrea avatar davidmalloncares avatar adreyer avatar jonathannewman avatar raj-andy1 avatar branan avatar gregohardy avatar kenazk avatar lavinia-dan avatar mwaggett avatar randomnoun7 avatar donoghuc avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.