2014-01-08 06:46:34 -05:00
|
|
|
---
|
2015-07-22 22:31:00 -04:00
|
|
|
description: |
|
|
|
|
The `puppet-server` Packer provisioner provisions Packer machines with Puppet by
|
|
|
|
connecting to a Puppet master.
|
|
|
|
layout: docs
|
|
|
|
page_title: Puppet Server Provisioner
|
|
|
|
...
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2014-01-08 07:03:03 -05:00
|
|
|
# Puppet Server Provisioner
|
2014-01-08 06:46:34 -05:00
|
|
|
|
|
|
|
Type: `puppet-server`
|
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
The `puppet-server` Packer provisioner provisions Packer machines with Puppet by
|
|
|
|
connecting to a Puppet master.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
-> **Note:** Puppet will *not* be installed automatically by this
|
|
|
|
provisioner. This provisioner expects that Puppet is already installed on the
|
|
|
|
machine. It is common practice to use the [shell
|
|
|
|
provisioner](/docs/provisioners/shell.html) before the Puppet provisioner to do
|
|
|
|
this.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
|
|
|
## Basic Example
|
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
The example below is fully functional and expects a Puppet server to be
|
|
|
|
accessible from your network.:
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
``` {.javascript}
|
2014-01-08 06:46:34 -05:00
|
|
|
{
|
|
|
|
"type": "puppet-server",
|
|
|
|
"options": "--test --pluginsync",
|
|
|
|
"facter": {
|
|
|
|
"server_role": "webserver"
|
|
|
|
}
|
|
|
|
}
|
2014-10-20 13:55:16 -04:00
|
|
|
```
|
2014-01-08 06:46:34 -05:00
|
|
|
|
|
|
|
## Configuration Reference
|
|
|
|
|
|
|
|
The reference of available configuration options is listed below.
|
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
The provisioner takes various options. None are strictly required. They are
|
|
|
|
listed below:
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `client_cert_path` (string) - Path to the client certificate for the node on
|
|
|
|
your disk. This defaults to nothing, in which case a client cert won't
|
|
|
|
be uploaded.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `client_private_key_path` (string) - Path to the client private key for the
|
|
|
|
node on your disk. This defaults to nothing, in which case a client private
|
|
|
|
key won't be uploaded.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `facter` (object of key/value strings) - Additional Facter facts to make
|
|
|
|
available to the Puppet run.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `ignore_exit_codes` (boolean) - If true, Packer will never consider the
|
2015-06-19 00:09:22 -04:00
|
|
|
provisioner a failure.
|
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `options` (string) - Additional command line options to pass to `puppet agent`
|
|
|
|
when Puppet is ran.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `prevent_sudo` (boolean) - By default, the configured commands that are
|
|
|
|
executed to run Puppet are executed with `sudo`. If this is true, then the
|
|
|
|
sudo will be omitted.
|
2014-05-04 13:47:40 -04:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `puppet_node` (string) - The name of the node. If this isn't set, the fully
|
|
|
|
qualified domain name will be used.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `puppet_server` (string) - Hostname of the Puppet server. By default "puppet"
|
|
|
|
will be used.
|
2014-01-08 06:46:34 -05:00
|
|
|
|
2015-07-22 22:31:00 -04:00
|
|
|
- `staging_directory` (string) - This is the directory where all the
|
|
|
|
configuration of Puppet by Packer will be placed. By default this
|
|
|
|
is "/tmp/packer-puppet-server". This directory doesn't need to exist but must
|
|
|
|
have proper permissions so that the SSH user that Packer uses is able to
|
|
|
|
create directories and write into this folder. If the permissions are not
|
|
|
|
correct, use a shell provisioner prior to this to configure it properly.
|