vault
: install hashicorp vault
vault::config
: This class is called from vault for service configvault::install
vault::params
: This class is meant to be called from vault. It sets variables according to platform.vault::service
install hashicorp vault
The following parameters are available in the vault
class:
user
manage_user
group
manage_group
bin_dir
config_dir
config_mode
purge_config_dir
download_url
download_url_base
download_extension
service_name
service_provider
service_options
manage_repo
manage_service
num_procs
api_addr
version
extra_config
enable_ui
arch
os
manage_download_dir
download_dir
package_ensure
package_name
install_method
manage_file_capabilities
disable_mlock
max_lease_ttl
default_lease_ttl
telemetry
disable_cache
seal
ha_storage
listener
manage_storage_dir
storage
manage_service_file
service_ensure
service_enable
manage_config_file
download_filename
manage_config_dir
Data type: Any
Customise the user vault runs as, will also create the user unless manage_user
is false.
Default value: 'vault'
Data type: Any
Whether or not the module should create the user.
Default value: true
Data type: Any
Customise the group vault runs as, will also create the user unless manage_group
is false.
Default value: 'vault'
Data type: Any
Whether or not the module should create the group.
Default value: true
Data type: Any
Directory the vault executable will be installed in.
Default value: $vault::params::bin_dir
Data type: Any
Directory the vault configuration will be kept in.
Default value: if $install_method == 'repo' and $manage_repo { '/etc/vault.d' } else { '/etc/vault'
Data type: Any
Mode of the configuration file (config.json). Defaults to '0750'
Default value: '0750'
Data type: Any
Whether the config_dir
should be purged before installing the generated config.
Default value: true
Data type: Any
Manual URL to download the vault zip distribution from.
Default value: undef
Data type: Any
Hashicorp base URL to download vault zip distribution from.
Default value: 'https://releases.hashicorp.com/vault/'
Data type: Any
The extension of the vault download
Default value: 'zip'
Data type: Any
Customise the name of the system service
Default value: 'vault'
Data type: Any
Customise the name of the system service provider; this also controls the init configuration files that are installed.
Default value: $facts['service_provider']
Data type: Any
Extra argument to pass to vault server
, as per: vault server --help
Default value: ''
Data type: Boolean
Configure the upstream HashiCorp repository. Only relevant when $nomad::install_method = 'repo'.
Default value: $vault::params::manage_repo
Data type: Any
Instruct puppet to manage service or not
Default value: true
Data type: Any
Sets the GOMAXPROCS environment variable, to determine how many CPUs Vault
can use. The official Vault Terraform install.sh script sets this to the
output of nprocs
, with the comment, "Make sure to use all our CPUs,
because Vault can block a scheduler thread". Default: number of CPUs
on the system, retrieved from the processorcount
Fact.
Default value: $facts['processors']['count']
Data type: Optional[String]
Specifies the address (full URL) to advertise to other Vault servers in the cluster for client redirection. This value is also used for plugin backends. This can also be provided via the environment variable VAULT_API_ADDR. In general this should be set as a full URL that points to the value of the listener address
Default value: undef
Data type: Any
The version of Vault to install
Default value: '1.12.0'
Data type: Hash
Default value: {}
Data type: Optional[Boolean]
Default value: undef
Data type: Any
Default value: $vault::params::arch
Data type: Any
Default value: downcase($facts['kernel'])
Data type: Any
Default value: false
Data type: Any
Default value: '/tmp'
Data type: Any
Default value: 'installed'
Data type: Any
Default value: 'vault'
Data type: Any
Default value: $vault::params::install_method
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Hash]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Hash]
Default value: undef
Data type: Optional[Hash]
Default value: undef
Data type: Variant[Hash, Array[Hash]]
Default value: { 'tcp' => { 'address' => '127.0.0.1:8200', 'tls_disable' => 1 }, }
Data type: Any
Default value: false
Data type: Hash
Default value: { 'file' => { 'path' => '/var/lib/vault' } }
Data type: Optional[Boolean]
Default value: $vault::params::manage_service_file
Data type: Any
Default value: 'running'
Data type: Any
Default value: true
Data type: Any
Default value: true
Data type: Any
Default value: 'vault.zip'
Data type: Boolean
enable/disable the directory management. not required for package based installations
Default value: $install_method == 'archive'