Commit 31522931 authored by Mitchell Hashimoto's avatar Mitchell Hashimoto

Merge pull request #269 from rach/master

provisioner/salt-masterless: `local_state_tree` should not be mandatory
parents fa3f87a5 23b85633
...@@ -68,13 +68,12 @@ func (p *Provisioner) Prepare(raws ...interface{}) error { ...@@ -68,13 +68,12 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
} }
} }
if p.config.LocalStateTree == "" { if p.config.LocalStateTree != "" {
errs = packer.MultiErrorAppend(errs, if _, err := os.Stat(p.config.LocalStateTree); err != nil {
errors.New("Please specify a local_state_tree")) errs = packer.MultiErrorAppend(errs,
} else if _, err := os.Stat(p.config.LocalStateTree); err != nil { errors.New("local_state_tree must exist and be accessible"))
errs = packer.MultiErrorAppend(errs, }
errors.New("local_state_tree must exist and be accessible")) }
}
if errs != nil && len(errs.Errors) > 0 { if errs != nil && len(errs.Errors) > 0 {
return errs return errs
......
...@@ -6,7 +6,8 @@ layout: "docs" ...@@ -6,7 +6,8 @@ layout: "docs"
Type: `salt-masterless` Type: `salt-masterless`
The salt-masterless provisioner provisions machines built by Packer using [Salt](http://saltstack.com/) states. The `salt-masterless` provisioner provisions machines built by Packer using
[Salt](http://saltstack.com/) states, without connecting to a Salt master.
## Basic Example ## Basic Example
...@@ -15,7 +16,6 @@ The example below is fully functional. ...@@ -15,7 +16,6 @@ The example below is fully functional.
<pre class="prettyprint"> <pre class="prettyprint">
{ {
"type": "salt-masterless", "type": "salt-masterless",
"bootstrap_args": "git v0.16.0"
"local_state_tree": "/Users/me/salt" "local_state_tree": "/Users/me/salt"
} }
</pre> </pre>
...@@ -24,15 +24,21 @@ The example below is fully functional. ...@@ -24,15 +24,21 @@ The example below is fully functional.
The reference of available configuration options is listed below. The only required argument is the path to your local salt state tree. The reference of available configuration options is listed below. The only required argument is the path to your local salt state tree.
Required:
* `local_state_tree` (string) - The path to your local [state tree](http://docs.saltstack.com/ref/states/highstate.html#the-salt-state-tree). This will be uploaded to the `/srv/salt` on the remote, and removed before shutdown.
Optional: Optional:
* `skip_bootstrap` (boolean) - By default the salt provisioner runs [salt bootstrap](https://github.com/saltstack/salt-bootstrap) to install salt. Set this to true to skip this step. * `local_state_tree` (string) - The path to your local
[state tree](http://docs.saltstack.com/ref/states/highstate.html#the-salt-state-tree).
This will be uploaded to the `/srv/salt` on the remote.
* `skip_bootstrap` (boolean) - By default the salt provisioner runs
[salt bootstrap](https://github.com/saltstack/salt-bootstrap) to install
salt. Set this to true to skip this step.
* `boostrap_args` (string) - * `boostrap_args` (string) - Arguments to send to the bootstrap script. Usage
Arguments to send to the bootstrap script. Usage is somewhat documented on [github](https://github.com/saltstack/salt-bootstrap), but the [script itself](https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh) has more detailed usage instructions. By default, no arguments are sent to the script. is somewhat documented on [github](https://github.com/saltstack/salt-bootstrap),
but the [script itself](https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh)
has more detailed usage instructions. By default, no arguments are sent to
the script.
* `temp_config_dir` (string) - Where your local state tree will be copied before moving to the `/srv/salt` directory. Default is `/tmp/salt`. * `temp_config_dir` (string) - Where your local state tree will be copied
before moving to the `/srv/salt` directory. Default is `/tmp/salt`.
---
layout: "docs"
---
# Salt Masterless Provisioner
Type: `salt-masterless`
The `salt-masterless` provisioner provisions machines built by Packer using
[Salt](http://saltstack.com/) states, without connecting to a Salt master.
## Basic Example
The example below is fully functional.
<pre class="prettyprint">
{
"type": "salt-masterless",
"local_state_tree": "/Users/me/salt"
}
</pre>
## Configuration Reference
The reference of available configuration options is listed below. The only required argument is the path to your local salt state tree.
Required:
* `local_state_tree` (string) - The path to your local
[state tree](http://docs.saltstack.com/ref/states/highstate.html#the-salt-state-tree).
This will be uploaded to the `/srv/salt` on the remote, and removed before
shutdown.
Optional:
* `skip_bootstrap` (boolean) - By default the salt provisioner runs
[salt bootstrap](https://github.com/saltstack/salt-bootstrap) to install
salt. Set this to true to skip this step.
* `boostrap_args` (string) - Arguments to send to the bootstrap script. Usage
is somewhat documented on [github](https://github.com/saltstack/salt-bootstrap),
but the [script itself](https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh)
has more detailed usage instructions. By default, no arguments are sent to
the script.
* `temp_config_dir` (string) - Where your local state tree will be copied
before moving to the `/srv/salt` directory. Default is `/tmp/salt`.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment