opentofu/website/docs/provisioners/salt-masterless.html.md
Martin Atkins 6a4498ba76 provisioner/salt-masterless: add "_file" suffix to "minion_config"
In #15870 we got good feedback that it'd be more useful to have the
various filename-accepting arguments on this provisioner instead accept
strings that represent the contents of such files, so that they can be
generated from elsewhere in the Terraform config.

This change does not achieve that, but it does make room for doing this
later by renaming "minion_config" to "minion_config_file" so that we
can later add a "minion_config" option alongside that takes the file
content, and deprecate "minion_config_file".

Ideally we'd just implement the requested change immediately, but
unfortunately the release schedule doesn't have time for this so this is
a pragmatic change to allow us to make the full requested change at a
later date without backward incompatibilities.

This change is safe because the salt-masterless provisioner has not yet
been included in a release at the time of this commit.
2017-08-30 13:55:28 -07:00

3.9 KiB

layout page_title sidebar_current description
docs Provisioner: salt-masterless docs-provisioners-salt-masterless The salt-masterless Terraform provisioner provisions machines built by Terraform

Salt Masterless Provisioner

Type: salt-masterless

The salt-masterless Terraform provisioner provisions machines built by Terraform using Salt states, without connecting to a Salt master. The salt-masterless provisioner supports ssh connections.

Requirements

The salt-masterless provisioner has some prerequisites. cURL must be available on the remote host.

Example usage

The example below is fully functional.


provisioner "salt-masterless" {
    "local_state_tree" = "/srv/salt"
}

Argument Reference

The reference of available configuration options is listed below. The only required argument is the path to your local salt state tree.

Optional:

  • bootstrap_args (string) - Arguments to send to the bootstrap script. Usage is somewhat documented on github, but the script itself has more detailed usage instructions. By default, no arguments are sent to the script.

  • disable_sudo (boolean) - By default, the bootstrap install command is prefixed with sudo. When using a Docker builder, you will likely want to pass true since sudo is often not pre-installed.

  • remote_pillar_roots (string) - The path to your remote pillar roots. default: /srv/pillar. This option cannot be used with minion_config.

  • remote_state_tree (string) - The path to your remote state tree. default: /srv/salt. This option cannot be used with minion_config.

  • local_pillar_roots (string) - The path to your local pillar roots. This will be uploaded to the remote_pillar_roots on the remote.

  • local_state_tree (string) - The path to your local state tree. This will be uploaded to the remote_state_tree on the remote.

  • custom_state (string) - A state to be run instead of state.highstate. Defaults to state.highstate if unspecified.

  • minion_config_file (string) - The path to your local minion config file. This will be uploaded to the /etc/salt on the remote. This option overrides the remote_state_tree or remote_pillar_roots options.

  • grains_file (string) - The path to your local grains file. This will be uploaded to /etc/salt/grains on the remote.

  • skip_bootstrap (boolean) - By default the salt provisioner runs salt bootstrap to install salt. Set this to true to skip this step.

  • temp_config_dir (string) - Where your local state tree will be copied before moving to the /srv/salt directory. Default is /tmp/salt.

  • no_exit_on_failure (boolean) - Terraform will exit if the salt-call command fails. Set this option to true to ignore Salt failures.

  • log_level (string) - Set the logging level for the salt-call run.

  • salt_call_args (string) - Additional arguments to pass directly to salt-call. See salt-call documentation for more information. By default no additional arguments (besides the ones Terraform generates) are passed to salt-call.

  • salt_bin_dir (string) - Path to the salt-call executable. Useful if it is not on the PATH.