Updated master and minion default config files
Added parameters new to 2016.03 (or simply missing in the existing config).
This commit is contained in:
parent
03ec0dce2d
commit
edce95f949
@ -1,5 +1,5 @@
|
||||
# This file managed by Salt, do not edit by hand!!
|
||||
# Based on salt version 2015.8.7 default config
|
||||
# Based on salt version 2016.11 default config
|
||||
{% set reserved_keys = ['master', 'minion', 'cloud', 'salt_cloud_certs', 'engines', 'lxc.network_profile', 'lxc.container_profile'] -%}
|
||||
{% set cfg_salt = pillar.get('salt', {}) -%}
|
||||
{% set cfg_master = cfg_salt.get('master', {}) -%}
|
||||
@ -62,9 +62,23 @@
|
||||
# key_logfile, pidfile:
|
||||
{{ get_config('root_dir', '/') }}
|
||||
|
||||
# The path to the master's configuration file.
|
||||
{{ get_config('conf_file', '/etc/salt/master') }}
|
||||
|
||||
# Directory used to store public key data:
|
||||
{{ get_config('pki_dir', '/etc/salt/pki/master') }}
|
||||
|
||||
# Key cache. Increases master speed for large numbers of accepted
|
||||
# keys. Available options: 'sched'. (Updates on a fixed schedule.)
|
||||
# Note that enabling this feature means that minions will not be
|
||||
# available to target for up to the length of the maintanence loop
|
||||
# which by default is 60s.
|
||||
{%- if cfg_minion['key_cache'] in cfg_master %}
|
||||
{{ get_config('key_cache', '') }}
|
||||
{% else %}
|
||||
#key_cache: ''
|
||||
{% endif %}
|
||||
|
||||
# Directory to store job and cache data:
|
||||
# This directory may contain sensitive data and should be protected accordingly.
|
||||
#
|
||||
@ -77,7 +91,7 @@
|
||||
|
||||
# Directory for custom modules. This directory can contain subdirectories for
|
||||
# each of Salt's module types such as "runners", "output", "wheel", "modules",
|
||||
# "states", "returners", etc.
|
||||
# "states", "returners", "engines", etc.
|
||||
# Like 'extension_modules' but can take an array of paths
|
||||
{% if 'module_dirs' in cfg_master -%}
|
||||
{%- do default_keys.append('module_dirs') %}
|
||||
@ -101,6 +115,10 @@ module_dirs:
|
||||
# Set the number of hours to keep old job information in the job cache:
|
||||
{{ get_config('keep_jobs', '24') }}
|
||||
|
||||
# The number of seconds to wait when the client is requesting information
|
||||
# about running jobs.
|
||||
{{ get_config('gather_job_timeout', '10') }}
|
||||
|
||||
# Set the default timeout for the salt command and api. The default is 5
|
||||
# seconds.
|
||||
{{ get_config('timeout', '5') }}
|
||||
@ -113,6 +131,11 @@ module_dirs:
|
||||
# Set the default outputter used by the salt command. The default is "nested".
|
||||
{{ get_config('output', 'nested') }}
|
||||
|
||||
# Set the default output file used by the salt command. Default is to output
|
||||
# to the CLI and not to a file. Functions the same way as the "--out-file"
|
||||
# CLI option, only sets this to a single file for all salt commands.
|
||||
{{ get_config('output_file', 'None') }}
|
||||
|
||||
# Return minions that timeout when running commands like test.ping
|
||||
{{ get_config('show_timeout', 'True') }}
|
||||
|
||||
@ -124,6 +147,12 @@ module_dirs:
|
||||
# (true by default).
|
||||
{{ get_config('strip_colors', 'False') }}
|
||||
|
||||
# To display a summary of the number of minions targeted, the number of
|
||||
# minions returned, and the number of minions that did not return, set the
|
||||
# cli_summary value to True. (False by default.)
|
||||
#
|
||||
{{ get_config('cli_summary', 'False') }}
|
||||
|
||||
# Set the directory used to hold unix sockets:
|
||||
{{ get_config('sock_dir', '/var/run/salt/master') }}
|
||||
|
||||
@ -138,9 +167,21 @@ module_dirs:
|
||||
# the jobs system and is not generally recommended.
|
||||
{{ get_config('job_cache', 'True') }}
|
||||
|
||||
# Cache minion grains and pillar data in the cachedir.
|
||||
# Cache minion grains, pillar and mine data via the cache subsystem in the
|
||||
# cachedir or a database.
|
||||
{{ get_config('minion_data_cache', 'True') }}
|
||||
|
||||
# Cache subsystem module to use for minion data cache.
|
||||
{{ get_config('cache', 'localfs') }}
|
||||
# Enables a fast in-memory cache booster and sets the expiration time.
|
||||
{{ get_config('memcache_expire_seconds', '0') }}
|
||||
# Set a memcache limit in items (bank + key) per cache storage (driver + driver_opts).
|
||||
{{ get_config('memcache_max_items', '1024') }}
|
||||
# Each time a cache storage got full cleanup all the expired items not just the oldest one.
|
||||
{{ get_config('memcache_full_cleanup', 'False') }}
|
||||
# Enable collecting the memcache stats and log it on `debug` log level.
|
||||
{{ get_config('memcache_debug', 'False') }}
|
||||
|
||||
# Store all returns in the given returner.
|
||||
# Setting this option requires that any returner-specific configuration also
|
||||
# be set. See various returners in salt/returners for details on required
|
||||
@ -153,7 +194,7 @@ module_dirs:
|
||||
# By default, events are not queued.
|
||||
{{ get_config('event_return_queue', '0') }}
|
||||
|
||||
# Only events returns matching tags in a whitelist
|
||||
# Only return events matching tags in a whitelist, supports glob matches.
|
||||
{% if 'event_return_whitelist' in cfg_master -%}
|
||||
{%- do default_keys.append('event_return_whitelist') %}
|
||||
event_return_whitelist:
|
||||
@ -166,12 +207,12 @@ event_return_whitelist:
|
||||
- {{ event_return }}
|
||||
{%- endfor -%}
|
||||
{% else -%}
|
||||
# event_return_whitelist:
|
||||
# - salt/master/a_tag
|
||||
# - salt/master/another_tag
|
||||
#event_return_whitelist:
|
||||
# - salt/master/a_tag
|
||||
# - salt/run/*/ret
|
||||
{% endif %}
|
||||
|
||||
# Store all event returns _except_ the tags in a blacklist
|
||||
# Store all event returns **except** the tags in a blacklist supports globs.
|
||||
{% if 'event_return_blacklist' in cfg_master -%}
|
||||
{%- do default_keys.append('event_return_blacklist') %}
|
||||
event_return_blacklist:
|
||||
@ -184,9 +225,9 @@ event_return_blacklist:
|
||||
- {{ event_return }}
|
||||
{%- endfor -%}
|
||||
{% else -%}
|
||||
# event_return_blacklist:
|
||||
# - salt/master/not_this_tag
|
||||
# - salt/master/or_this_one
|
||||
#event_return_blacklist:
|
||||
# - salt/master/not_this_tag
|
||||
# - salt/wheel/*/ret
|
||||
{% endif %}
|
||||
|
||||
# Passing very large events can cause the minion to consume large amounts of
|
||||
@ -270,6 +311,9 @@ event_return_blacklist:
|
||||
# Set the ZeroMQ high water marks
|
||||
# http://api.zeromq.org/3-2:zmq-setsockopt
|
||||
|
||||
# The listen queue size / backlog
|
||||
{{ get_config('zmq_backlog', '1000') }}
|
||||
|
||||
# The publisher interface ZeroMQPubServerChannel
|
||||
{{ get_config('pub_hwm', '1000') }}
|
||||
|
||||
@ -291,6 +335,19 @@ event_return_blacklist:
|
||||
# ZMQ high-water-mark for EventPublisher pub socket
|
||||
{{ get_config('event_publisher_pub_hwm', '10000') }}
|
||||
|
||||
# The master may allocate memory per-event and not
|
||||
# reclaim it.
|
||||
# To set a high-water mark for memory allocation, use
|
||||
# ipc_write_buffer to set a high-water mark for message
|
||||
# buffering.
|
||||
# Value: In bytes. Set to 'dynamic' to have Salt select
|
||||
# a value for you. Default is disabled.
|
||||
{%- if 'ipc_write_buffer' in cfg_master %}
|
||||
{{ get_config('ipc_write_buffer', 'dynamic') }}
|
||||
{%- else %}
|
||||
# ipc_write_buffer: 'dynamic'
|
||||
{%- endif %}
|
||||
|
||||
|
||||
##### Security settings #####
|
||||
##########################################
|
||||
@ -304,7 +361,7 @@ event_return_blacklist:
|
||||
# public keys from the minions. Note that this is insecure.
|
||||
{{ get_config('auto_accept', 'False') }}
|
||||
|
||||
# Time in minutes that a incoming public key with a matching name found in
|
||||
# Time in minutes that an incoming public key with a matching name found in
|
||||
# pki_dir/minion_autosign/keyid is automatically accepted. Expired autosign keys
|
||||
# are removed when the master checks the minion_autosign directory.
|
||||
# 0 equals no timeout
|
||||
@ -371,6 +428,7 @@ publisher_acl:
|
||||
# larry:
|
||||
# - test.ping
|
||||
# - network.*
|
||||
#
|
||||
{%- endif %}
|
||||
|
||||
# Blacklist any of the following users or modules
|
||||
@ -378,6 +436,12 @@ publisher_acl:
|
||||
# This example would blacklist all non sudo users, including root from
|
||||
# running any commands. It would also blacklist any use of the "cmd"
|
||||
# module. This is completely disabled by default.
|
||||
#
|
||||
#
|
||||
# Check the list of configured users in client ACL against users on the
|
||||
# system and throw errors if they do not exist.
|
||||
{{ get_config('client_acl_verify', 'True') }}
|
||||
#
|
||||
{% if 'publisher_acl_blacklist' in cfg_master %}
|
||||
{%- do default_keys.append('publisher_acl_blacklist') %}
|
||||
publisher_acl_blacklist:
|
||||
@ -428,6 +492,10 @@ publisher_acl_blacklist:
|
||||
# modules:
|
||||
# - cmd
|
||||
{% endif %}
|
||||
#
|
||||
# WARNING: client_acl and client_acl_blacklist options are deprecated and will
|
||||
# be removed in the future releases. Use publisher_acl and
|
||||
# publisher_acl_blacklist instead.
|
||||
|
||||
# Enforce publisher_acl & publisher_acl_blacklist when users have sudo
|
||||
# access to the salt command.
|
||||
@ -455,6 +523,18 @@ external_auth:
|
||||
|
||||
# Time (in seconds) for a newly generated token to live. Default: 12 hours
|
||||
{{ get_config('token_expire', '43200') }}
|
||||
#
|
||||
# Allow eauth users to specify the expiry time of the tokens they generate.
|
||||
# A boolean applies to all users or a dictionary of whitelisted eauth backends
|
||||
# and usernames may be given.
|
||||
# token_expire_user_override:
|
||||
# pam:
|
||||
# - fred
|
||||
# - tom
|
||||
# ldap:
|
||||
# - gary
|
||||
#
|
||||
#token_expire_user_override: False
|
||||
|
||||
# Allow minions to push files to the master. This is disabled by default, for
|
||||
# security purposes.
|
||||
@ -479,6 +559,15 @@ external_auth:
|
||||
# will cause minion to throw an exception and drop the message.
|
||||
{{ get_config('sign_pub_message', 'False') }}
|
||||
|
||||
# Use TLS/SSL encrypted connection between master and minion.
|
||||
# Can be set to a dictionary containing keyword arguments corresponding to Python's
|
||||
# 'ssl.wrap_socket' method.
|
||||
# Default is None.
|
||||
#ssl:
|
||||
# keyfile: <path_to_keyfile>
|
||||
# certfile: <path_to_certfile>
|
||||
# ssl_version: PROTOCOL_TLSv1_2
|
||||
|
||||
# Sign the master auth-replies with a cryptographic signature of the masters public key.
|
||||
# Please see the tutorial how to use these settings in the Multimaster-PKI with Failover Tutorial
|
||||
{{ get_config('master_sign_pubkey', 'False') }}
|
||||
@ -570,6 +659,27 @@ external_auth:
|
||||
# Pass in an alternative location for the salt-ssh roster file
|
||||
{{ get_config('roster_file', '/etc/salt/roster') }}
|
||||
|
||||
# Define locations for roster files so they can be chosen when using Salt API.
|
||||
# An administrator can place roster files into these locations. Then when
|
||||
# calling Salt API, parameter 'roster_file' should contain a relative path to
|
||||
# these locations. That is, "roster_file=/foo/roster" will be resolved as
|
||||
# "/etc/salt/roster.d/foo/roster" etc. This feature prevents passing insecure
|
||||
# custom rosters through the Salt API.
|
||||
#
|
||||
{%- if 'rosters' in cfg_master %}
|
||||
rosters:
|
||||
{% for name in cfg_master['rosters'] -%}
|
||||
- {{ name }}
|
||||
{% endfor -%}
|
||||
{%- else %}
|
||||
#rosters:
|
||||
# - /etc/salt/roster.d
|
||||
# - /opt/salt/some/more/rosters
|
||||
{%- endif %}
|
||||
|
||||
# The log file of the salt-ssh command:
|
||||
{{ get_config('ssh_log_file', '/var/log/salt/ssh') }}
|
||||
|
||||
# Pass in minion option overrides that will be inserted into the SHIM for
|
||||
# salt-ssh calls. The local minion config is not used for salt-ssh. Can be
|
||||
# overridden on a per-minion basis in the roster (`minion_opts`)
|
||||
@ -577,6 +687,10 @@ external_auth:
|
||||
# gpg_keydir: /root/gpg
|
||||
{{ get_config('ssh_minion_opts', '{}') }}
|
||||
|
||||
# Set this to True to default to using ~/.ssh/id_rsa for salt-ssh
|
||||
# authentication with minions
|
||||
{{ get_config('ssh_use_home_key', 'False') }}
|
||||
|
||||
##### Master Module Management #####
|
||||
##########################################
|
||||
# Manage how master side modules are loaded.
|
||||
@ -636,7 +750,7 @@ master_tops:
|
||||
# (block, not variable tag!). Defaults to False, corresponds to the Jinja
|
||||
# environment init variable "trim_blocks".
|
||||
{{ get_config('jinja_trim_blocks', 'False') }}
|
||||
|
||||
#
|
||||
# If this is set to True leading spaces and tabs are stripped from the start
|
||||
# of a line to a block. Defaults to False, corresponds to the Jinja
|
||||
# environment init variable "lstrip_blocks".
|
||||
@ -709,6 +823,7 @@ master_tops:
|
||||
#file_roots:
|
||||
# base:
|
||||
# - /srv/salt
|
||||
#
|
||||
{%- endif %}
|
||||
|
||||
# When using multiple environments, each with their own top file, the
|
||||
@ -728,9 +843,12 @@ master_tops:
|
||||
{{ get_config('default_top', 'base') }}
|
||||
|
||||
# The hash_type is the hash to use when discovering the hash of a file on
|
||||
# the master server. The default is md5, but sha1, sha224, sha256, sha384
|
||||
# the master server. The default is md5 but sha1, sha224, sha256, sha384
|
||||
# and sha512 are also supported.
|
||||
#
|
||||
# WARNING: While md5 and sha1 are also supported, do not use it due to the high chance
|
||||
# of possible collisions and thus security breach.
|
||||
#
|
||||
# Prior to changing this value, the master should be stopped and all Salt
|
||||
# caches should be cleared.
|
||||
{{ get_config('hash_type', 'md5') }}
|
||||
@ -870,7 +988,7 @@ fileserver_backend:
|
||||
# and the first repo to have the file will return it.
|
||||
# When using the git backend branches and tags are translated into salt
|
||||
# environments.
|
||||
# Note: file:// repos will be treated as a remote, so refs you want used must
|
||||
# Note: file:// repos will be treated as a remote, so refs you want used must
|
||||
# exist in that repo as *local* refs.
|
||||
{% if 'gitfs_remotes' in cfg_master -%}
|
||||
{%- do default_keys.append('gitfs_remotes') %}
|
||||
@ -1006,6 +1124,7 @@ pillar_roots:
|
||||
#pillar_roots:
|
||||
# base:
|
||||
# - /srv/pillar
|
||||
#
|
||||
{%- endif %}
|
||||
|
||||
{% if 'ext_pillar' in cfg_master %}
|
||||
@ -1048,6 +1167,18 @@ ext_pillar:
|
||||
# ext_pillar.
|
||||
{{ get_config('ext_pillar_first', 'False') }}
|
||||
|
||||
# The external pillars permitted to be used on-demand using pillar.ext
|
||||
{%- if 'on_demand_ext_pillar' in cfg_master %}
|
||||
on_demand_ext_pillar:
|
||||
{% for name in cfg_master['on_demand_ext_pillar'] -%}
|
||||
- {{ name }}
|
||||
{% endfor -%}
|
||||
{%- else %}
|
||||
#on_demand_ext_pillar:
|
||||
# - libvirt
|
||||
# - virtkey
|
||||
{%- endif %}
|
||||
|
||||
# The pillar_gitfs_ssl_verify option specifies whether to ignore ssl certificate
|
||||
# errors when contacting the pillar gitfs backend. You might want to set this to
|
||||
# false if you're using a git backend that uses a self-signed certificate but
|
||||
@ -1068,16 +1199,21 @@ ext_pillar:
|
||||
{{ get_config('pillar_safe_render_error', 'True') }}
|
||||
|
||||
# The pillar_source_merging_strategy option allows you to configure merging strategy
|
||||
# between different sources. It accepts four values: recurse, aggregate, overwrite,
|
||||
# or smart. Recurse will merge recursively mapping of data. Aggregate instructs
|
||||
# aggregation of elements between sources that use the #!yamlex renderer. Overwrite
|
||||
# will verwrite elements according the order in which they are processed. This is
|
||||
# between different sources. It accepts five values: none, recurse, aggregate, overwrite,
|
||||
# or smart. None will not do any merging at all. Recurse will merge recursively mapping of data.
|
||||
# Aggregate instructs aggregation of elements between sources that use the #!yamlex renderer. Overwrite
|
||||
# will overwrite elements according the order in which they are processed. This is
|
||||
# behavior of the 2014.1 branch and earlier. Smart guesses the best strategy based
|
||||
# on the "renderer" setting and is the default value.
|
||||
{{ get_config('pillar_source_merging_strategy', 'smart') }}
|
||||
|
||||
# Recursively merge lists by aggregating them instead of replacing them.
|
||||
{{ get_config('pillar_merge_lists', False) }}
|
||||
{{ get_config('pillar_merge_lists', 'False') }}
|
||||
|
||||
# Set this option to 'True' to force a 'KeyError' to be raised whenever an
|
||||
# attempt to retrieve a named value from pillar fails. When this option is set
|
||||
# to 'False', the failed attempt returns an empty string. Default is 'False'.
|
||||
{{ get_config('pillar_raise_on_missing', 'False') }}
|
||||
|
||||
# Git External Pillar (git_pillar) Configuration Options
|
||||
#
|
||||
@ -1139,6 +1275,43 @@ ext_pillar:
|
||||
# to authenticate is protected by a passphrase.
|
||||
{{ get_config('git_pillar_passphrase', '') }}
|
||||
|
||||
# A master can cache pillars locally to bypass the expense of having to render them
|
||||
# for each minion on every request. This feature should only be enabled in cases
|
||||
# where pillar rendering time is known to be unsatisfactory and any attendant security
|
||||
# concerns about storing pillars in a master cache have been addressed.
|
||||
#
|
||||
# When enabling this feature, be certain to read through the additional ``pillar_cache_*``
|
||||
# configuration options to fully understand the tunable parameters and their implications.
|
||||
#
|
||||
# Note: setting ``pillar_cache: True`` has no effect on targeting Minions with Pillars.
|
||||
# See https://docs.saltstack.com/en/latest/topics/targeting/pillar.html
|
||||
{{ get_config('pillar_cache', 'False') }}
|
||||
|
||||
# If and only if a master has set ``pillar_cache: True``, the cache TTL controls the amount
|
||||
# of time, in seconds, before the cache is considered invalid by a master and a fresh
|
||||
# pillar is recompiled and stored.
|
||||
{{ get_config('pillar_cache_ttl', '3600') }}
|
||||
|
||||
# If and only if a master has set `pillar_cache: True`, one of several storage providers
|
||||
# can be utililzed.
|
||||
#
|
||||
# `disk`: The default storage backend. This caches rendered pillars to the master cache.
|
||||
# Rendered pillars are serialized and deserialized as msgpack structures for speed.
|
||||
# Note that pillars are stored UNENCRYPTED. Ensure that the master cache
|
||||
# has permissions set appropriately. (Same defaults are provided.)
|
||||
#
|
||||
# memory: [EXPERIMENTAL] An optional backend for pillar caches which uses a pure-Python
|
||||
# in-memory data structure for maximal performance. There are several caveats,
|
||||
# however. First, because each master worker contains its own in-memory cache,
|
||||
# there is no guarantee of cache consistency between minion requests. This
|
||||
# works best in situations where the pillar rarely if ever changes. Secondly,
|
||||
# and perhaps more importantly, this means that unencrypted pillars will
|
||||
# be accessible to any process which can examine the memory of the ``salt-master``!
|
||||
# This may represent a substantial security risk.
|
||||
#
|
||||
{{ get_config('pillar_cache_backend', 'disk') }}
|
||||
|
||||
|
||||
##### Syndic settings #####
|
||||
##########################################
|
||||
# The Salt syndic is used to pass commands through a master from a higher
|
||||
@ -1155,7 +1328,7 @@ ext_pillar:
|
||||
|
||||
# If this master will be running a salt syndic daemon, syndic_master tells
|
||||
# this master where to receive commands from.
|
||||
{{ get_config('syndic_master', 'masterofmaster') }}
|
||||
{{ get_config('syndic_master', 'masterofmasters') }}
|
||||
|
||||
# This is the 'ret_port' of the MasterOfMaster:
|
||||
{{ get_config('syndic_master_port', '4506') }}
|
||||
@ -1164,11 +1337,22 @@ ext_pillar:
|
||||
{{ get_config('syndic_pidfile', '/var/run/salt-syndic.pid') }}
|
||||
|
||||
# LOG file of the syndic daemon:
|
||||
{{ get_config('syndic_log_file', 'syndic.log') }}
|
||||
{{ get_config('syndic_log_file', '/var/log/salt/syndic') }}
|
||||
|
||||
# The user under which the salt syndic will run.
|
||||
{{ get_config('syndic_user', 'root') }}
|
||||
|
||||
# The behaviour of the multi-syndic when connection to a master of masters failed.
|
||||
# Can specify ``random`` (default) or ``ordered``. If set to ``random``, masters
|
||||
# will be iterated in random order. If ``ordered`` is specified, the configured
|
||||
# order will be used.
|
||||
{{ get_config('syndic_failover', 'random') }}
|
||||
|
||||
# The number of seconds for the salt client to wait for additional syndics to
|
||||
# check in with their lists of expected minions before giving up.
|
||||
{{ get_config('syndic_wait', '5') }}
|
||||
|
||||
|
||||
##### Peer Publish settings #####
|
||||
##########################################
|
||||
# Salt minions can send commands to other minions, but only if the minion is
|
||||
@ -1358,11 +1542,18 @@ log_granular_levels:
|
||||
|
||||
##### Node Groups ######
|
||||
##########################################
|
||||
# Node groups allow for logical groupings of minion nodes. A group consists of a group
|
||||
# name and a compound target.
|
||||
# Node groups allow for logical groupings of minion nodes. A group consists of
|
||||
# a group name and a compound target. Nodgroups can reference other nodegroups
|
||||
# with 'N@' classifier. Ensure that you do not have circular references.
|
||||
#
|
||||
#nodegroups:
|
||||
# group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
|
||||
# group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
|
||||
# group2: 'G@os:Debian and foo.domain.com'
|
||||
# group3: 'G@os:Debian and N@group1'
|
||||
# group4:
|
||||
# - 'G@foo:bar'
|
||||
# - 'or'
|
||||
# - 'G@foo:baz'
|
||||
{%- if 'nodegroups' in cfg_master %}
|
||||
{%- do default_keys.append('nodegroups') %}
|
||||
nodegroups:
|
||||
@ -1473,11 +1664,24 @@ win_gitrepos:
|
||||
{{ get_config('return', '')}}
|
||||
|
||||
|
||||
###### Miscellaneous settings ######
|
||||
###### Miscellaneous settings ######
|
||||
############################################
|
||||
# Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
|
||||
{{ get_config('event_match_type', 'startswith') }}
|
||||
|
||||
# Save runner returns to the job cache
|
||||
{{ get_config('runner_returns', 'True') }}
|
||||
|
||||
# Permanently include any available Python 3rd party modules into Salt Thin
|
||||
# when they are generated for Salt-SSH or other purposes.
|
||||
# The modules should be named by the names they are actually imported inside the Python.
|
||||
# The value of the parameters can be either one module or a comma separated list of them.
|
||||
{%- if 'thin_extra_mods' in cfg_master %}
|
||||
{{ get_config('thin_extra_mods', '') }}
|
||||
{%- else %}
|
||||
#thin_extra_mods: foo,bar
|
||||
{%- endif %}
|
||||
|
||||
{%- if 'halite' in cfg_master %}
|
||||
{%- do default_keys.append('halite') %}
|
||||
##### Halite #####
|
||||
|
@ -1,5 +1,5 @@
|
||||
# This file managed by Salt, do not edit by hand!!
|
||||
# Based on salt version 2015.8.7 default config
|
||||
# Based on salt version 2016.11 default config
|
||||
#
|
||||
{% set reserved_keys = ['master', 'minion', 'cloud', 'salt_cloud_certs', 'engines', 'beacons'] -%}
|
||||
{% set cfg_salt = pillar.get('salt', {}) -%}
|
||||
@ -84,6 +84,8 @@ proxy_password: {{ cfg_minion['proxy_password'] }}
|
||||
# value to "str". Failover masters can be requested by setting
|
||||
# to "failover". MAKE SURE TO SET master_alive_interval if you are
|
||||
# using failover.
|
||||
# Setting master_type to 'disable' let's you have a running minion (with engines and
|
||||
# beacons) without a master connection
|
||||
{{ get_config('master_type', 'str') }}
|
||||
|
||||
# verify_master_pubkey_sign
|
||||
@ -95,6 +97,16 @@ proxy_password: {{ cfg_minion['proxy_password'] }}
|
||||
# of TCP connections, such as load balancers.)
|
||||
{{ get_config('master_alive_interval', '30') }}
|
||||
|
||||
# If the minion is in multi-master mode and the master_type configuration option
|
||||
# is set to "failover", this setting can be set to "True" to force the minion
|
||||
# to fail back to the first master in the list if the first master is back online.
|
||||
{{ get_config('master_fallback', 'False') }}
|
||||
|
||||
# If the minion is in multi-master mode, the "master_type" configuration is set to
|
||||
# "failover", and the "master_failback" option is enabled, the master failback
|
||||
# interval can be set to ping the top master with this interval, in seconds.
|
||||
{{ get_config('master_fallback_interval', '0') }}
|
||||
|
||||
# Set whether the minion should connect to the master via IPv6:
|
||||
{{ get_config('ipv6', 'False') }}
|
||||
|
||||
@ -109,10 +121,14 @@ proxy_password: {{ cfg_minion['proxy_password'] }}
|
||||
# The user to run salt.
|
||||
{{ get_config('user', 'root') }}
|
||||
|
||||
# Setting sudo_user will cause salt to run all execution modules under an sudo
|
||||
# to the user given in sudo_user. The user under which the salt minion process
|
||||
# itself runs will still be that provided in the user config above, but all
|
||||
# execution modules run by the minion will be rerouted through sudo.
|
||||
# The user to run salt remote execution commands as via sudo. If this option is
|
||||
# enabled then sudo will be used to change the active user executing the remote
|
||||
# command. If enabled the user will need to be allowed access via the sudoers
|
||||
# file for the user that the salt minion is configured to run as. The most
|
||||
# common option would be to use the root user. If this option is set the user
|
||||
# option should also be set to a non-root user. If migrating from a root minion
|
||||
# to a non root minion the minion cache should be cleared and the minion pki
|
||||
# directory will need to be changed to the ownership of the new user.
|
||||
{{ get_config('sudo_user', 'saltdev') }}
|
||||
|
||||
# Specify the location of the daemon process ID file.
|
||||
@ -122,6 +138,9 @@ proxy_password: {{ cfg_minion['proxy_password'] }}
|
||||
# sock_dir, pidfile.
|
||||
{{ get_config('root_dir', '/') }}
|
||||
|
||||
# The path to the minion's configuration file.
|
||||
{{ get_config('conf_file', '/etc/salt/minion') }}
|
||||
|
||||
# The directory to store the pki information in
|
||||
{{ get_config('pki_dir', '/etc/salt/pki/minion') }}
|
||||
|
||||
@ -137,6 +156,13 @@ id: {{ cfg_minion['id'] }}
|
||||
#id:
|
||||
{%- endif %}
|
||||
|
||||
# Cache the minion id to a file when the minion's id is not statically defined
|
||||
# in the minion config. Defaults to "True". This setting prevents potential
|
||||
# problems when automatic minion id resolution changes, which can cause the
|
||||
# minion to lose connection with the master. To turn off minion id caching,
|
||||
# set this config to ``False``.
|
||||
{{ get_config('minion_id_caching', 'True') }}
|
||||
|
||||
# Append a domain to a hostname in the event that it does not exist. This is
|
||||
# useful for systems where socket.getfqdn() does not actually result in a
|
||||
# FQDN (for instance, Solaris).
|
||||
@ -158,6 +184,20 @@ id: {{ cfg_minion['id'] }}
|
||||
# This data may contain sensitive data and should be protected accordingly.
|
||||
{{ get_config('cachedir', '/var/cache/salt/minion') }}
|
||||
|
||||
# Append minion_id to these directories. Helps with
|
||||
# multiple proxies and minions running on the same machine.
|
||||
# Allowed elements in the list: pki_dir, cachedir, extension_modules
|
||||
# Normally not needed unless running several proxies and/or minions on the same machine
|
||||
# Defaults to ['cachedir'] for proxies, [] (empty list) for regular minions
|
||||
{% if 'append_minionid_config_dirs' in cfg_minion -%}
|
||||
append_minionid_config_dirs:
|
||||
{% for dir in cfg_minion['append_minionid_config_dirs'] -%}
|
||||
- {{ dir }}
|
||||
{% endfor -%}
|
||||
{%- else %}
|
||||
#append_minionid_config_dirs:
|
||||
{%- endif %}
|
||||
|
||||
# Verify and set permissions on configuration directories at startup.
|
||||
{{ get_config('verify_env', 'True') }}
|
||||
|
||||
@ -226,6 +266,20 @@ id: {{ cfg_minion['id'] }}
|
||||
# authenticate.
|
||||
{{ get_config('auth_tries', '7') }}
|
||||
|
||||
# The number of attempts to connect to a master before giving up.
|
||||
# Set this to -1 for unlimited attempts. This allows for a master to have
|
||||
# downtime and the minion to reconnect to it later when it comes back up.
|
||||
# In 'failover' mode, it is the number of attempts for each set of masters.
|
||||
# In this mode, it will cycle through the list of masters for each attempt.
|
||||
#
|
||||
# This is different than auth_tries because auth_tries attempts to
|
||||
# retry auth attempts with a single master. auth_tries is under the
|
||||
# assumption that you can connect to the master but not gain
|
||||
# authorization from it. master_tries will still cycle through all
|
||||
# the masters in a given try, so it is appropriate if you expect
|
||||
# occasional downtime from the master(s).
|
||||
{{ get_config('master_tries', '1') }}
|
||||
|
||||
# If authentication fails due to SaltReqTimeoutError during a ping_interval,
|
||||
# cause sub minion process to restart.
|
||||
{{ get_config('auth_safemode', 'False') }}
|
||||
@ -312,10 +366,23 @@ mine_functions:
|
||||
{{ get_config('recon_randomize', 'False') }}
|
||||
|
||||
# The loop_interval sets how long in seconds the minion will wait between
|
||||
# evaluating the scheduler and running cleanup tasks. This defaults to a
|
||||
# sane 60 seconds, but if the minion scheduler needs to be evaluated more
|
||||
# often lower this value
|
||||
{{ get_config('loop_interval', '60') }}
|
||||
# evaluating the scheduler and running cleanup tasks. This defaults to 1
|
||||
# second on the minion scheduler.
|
||||
{{ get_config('loop_interval', '1') }}
|
||||
|
||||
# Some installations choose to start all job returns in a cache or a returner
|
||||
# and forgo sending the results back to a master. In this workflow, jobs
|
||||
# are most often executed with --async from the Salt CLI and then results
|
||||
# are evaluated by examining job caches on the minions or any configured returners.
|
||||
# WARNING: Setting this to False will **disable** returns back to the master.
|
||||
{{ get_config('pub_ret', 'True') }}
|
||||
|
||||
|
||||
# The grains can be merged, instead of overridden, using this option.
|
||||
# This allows custom grains to defined different subvalues of a dictionary
|
||||
# grain. By default this feature is disabled, to enable set grains_deep_merge
|
||||
# to ``True``.
|
||||
{{ get_config('grains_deep_merge', 'False') }}
|
||||
|
||||
# The grains_refresh_every setting allows for a minion to periodically check
|
||||
# its grains to see if they have changed and, if so, to inform the master
|
||||
@ -332,12 +399,37 @@ mine_functions:
|
||||
# Cache grains on the minion. Default is False.
|
||||
{{ get_config('grains_cache', 'False') }}
|
||||
|
||||
# Cache rendered pillar data on the minion. Default is False.
|
||||
# This may cause 'cachedir'/pillar to contain sensitive data that should be
|
||||
# protected accordingly.
|
||||
{{ get_config('minion_pillar_cache', 'False') }}
|
||||
|
||||
# Grains cache expiration, in seconds. If the cache file is older than this
|
||||
# number of seconds then the grains cache will be dumped and fully re-populated
|
||||
# with fresh data. Defaults to 5 minutes. Will have no effect if 'grains_cache'
|
||||
# is not enabled.
|
||||
{{ get_config('grains_cache_expiration', '300') }}
|
||||
|
||||
# Determines whether or not the salt minion should run scheduled mine updates.
|
||||
# Defaults to "True". Set to "False" to disable the scheduled mine updates
|
||||
# (this essentially just does not add the mine update function to the minion's
|
||||
# scheduler).
|
||||
{{ get_config('mine_enabled', 'True') }}
|
||||
|
||||
# Determines whether or not scheduled mine updates should be accompanied by a job
|
||||
# return for the job cache. Defaults to "False". Set to "True" to include job
|
||||
# returns in the job cache for mine updates.
|
||||
{{ get_config('mine_return_job', 'False') }}
|
||||
|
||||
# Example functions that can be run via the mine facility
|
||||
# NO mine functions are established by default.
|
||||
# Note these can be defined in the minion's pillar as well.
|
||||
#mine_functions:
|
||||
# test.ping: []
|
||||
# network.ip_addrs:
|
||||
# interface: eth0
|
||||
# cidr: '10.0.0.0/8'
|
||||
|
||||
# Windows platforms lack posix IPC and must rely on slower TCP based inter-
|
||||
# process communications. Set ipc_mode to 'tcp' on such systems
|
||||
{{ get_config('ipc_mode', 'ipc') }}
|
||||
@ -386,13 +478,34 @@ mine_functions:
|
||||
{%- endif -%}
|
||||
{% endif %}
|
||||
|
||||
# The syndic minion can verify that it is talking to the correct master via the
|
||||
# key fingerprint of the higher-level master with the "syndic_finger" config.
|
||||
{{ get_config('syndic_finger', '') }}
|
||||
|
||||
|
||||
##### Minion module management #####
|
||||
##########################################
|
||||
# Disable specific modules. This allows the admin to limit the level of
|
||||
# access the master has to the minion.
|
||||
{{ get_config('disable_modules', '[cmd,test]') }}
|
||||
# access the master has to the minion. The default here is the empty list,
|
||||
# below is an example of how this needs to be formatted in the config file
|
||||
#disable_modules:
|
||||
# - cmdmod
|
||||
# - test
|
||||
#disable_returners: []
|
||||
{{ get_config('disable_modules', '[]') }}
|
||||
{{ get_config('disable_returners', '[]') }}
|
||||
|
||||
# This is the reverse of disable_modules. The default, like disable_modules, is the empty list,
|
||||
# but if this option is set to *anything* then *only* those modules will load.
|
||||
# Note that this is a very large hammer and it can be quite difficult to keep the minion working
|
||||
# the way you think it should since Salt uses many modules internally itself. At a bare minimum
|
||||
# you need the following enabled or else the minion won't start.
|
||||
#whitelist_modules:
|
||||
# - cmdmod
|
||||
# - test
|
||||
# - config
|
||||
{{ get_config('whitelist_modules', '[]') }}
|
||||
|
||||
# Modules can be loaded from arbitrary paths. This enables the easy deployment
|
||||
# of third party modules. Modules for returners and minions can be loaded.
|
||||
# Specify a list of extra directories to search for minion modules and
|
||||
@ -452,7 +565,16 @@ mine_functions:
|
||||
# by statically setting it. Remember that the recommended way to manage
|
||||
# environments is to isolate via the top file.
|
||||
{{ get_config('environment', 'None') }}
|
||||
|
||||
#
|
||||
# Isolates the pillar environment on the minion side. This functions the same
|
||||
# as the environment setting, but for pillar instead of states.
|
||||
{{ get_config('pillarenv', 'None') }}
|
||||
#
|
||||
# Set this option to 'True' to force a 'KeyError' to be raised whenever an
|
||||
# attempt to retrieve a named value from pillar fails. When this option is set
|
||||
# to 'False', the failed attempt returns an empty string. Default is 'False'.
|
||||
{{ get_config('pillar_raise_on_missing', 'False') }}
|
||||
#
|
||||
# If using the local file directory, then the state top file name needs to be
|
||||
# defined, by default this is top.sls.
|
||||
{{ get_config('state_top', 'top.sls') }}
|
||||
@ -526,17 +648,17 @@ file_client: local
|
||||
# - /srv/salt
|
||||
{%- endif %}
|
||||
|
||||
|
||||
# File Server Backend
|
||||
# Uncomment the line below if you do not want the file_server to follow
|
||||
# symlinks when walking the filesystem tree. This is set to True
|
||||
# by default. Currently this only applies to the default roots
|
||||
# fileserver_backend.
|
||||
{{ get_config('fileserver_followsymlinks', 'True') }}
|
||||
#
|
||||
# Salt supports a modular fileserver backend system, this system allows
|
||||
# the salt minion to link directly to third party systems to gather and
|
||||
# manage the files available to minions. Multiple backends can be
|
||||
# configured and will be searched for the requested file in the order in which
|
||||
# they are defined here. The default setting only enables the standard backend
|
||||
# "roots" which uses the "file_roots" option.
|
||||
#fileserver_backend:
|
||||
# - roots
|
||||
# Uncomment the line below if you do not want symlinks to be
|
||||
# treated as the files they are pointing to. By default this is set to
|
||||
# False. By uncommenting the line below, any detected symlink while listing
|
||||
# files on the Master will not be returned to the Minion.
|
||||
{{ get_config('fileserver_ignoresymlinks', 'False') }}
|
||||
#
|
||||
# To use multiple backends list them in the order they are searched:
|
||||
#fileserver_backend:
|
||||
@ -558,10 +680,13 @@ fileserver_backend:
|
||||
# is False.
|
||||
{{ get_config('fileserver_limit_traversal', 'False') }}
|
||||
|
||||
# The hash_type is the hash to use when discovering the hash of a file in
|
||||
# The hash_type is the hash to use when discovering the hash of a file on
|
||||
# the local fileserver. The default is md5, but sha1, sha224, sha256, sha384
|
||||
# and sha512 are also supported.
|
||||
#
|
||||
# WARNING: While md5 and sha1 are also supported, do not use it due to the high chance
|
||||
# of possible collisions and thus security breach.
|
||||
#
|
||||
# Warning: Prior to changing this value, the minion should be stopped and all
|
||||
# Salt caches should be cleared.
|
||||
{{ get_config('hash_type', 'md5') }}
|
||||
@ -687,6 +812,10 @@ pillar_roots:
|
||||
# - /srv/pillar
|
||||
{%- endif %}
|
||||
|
||||
# Set a hard-limit on the size of the files that can be pushed to the master.
|
||||
# It will be interpreted as megabytes. Default: 100
|
||||
{{ get_config('file_recv_max_size', '100') }}
|
||||
|
||||
{% if 'ext_pillar' in cfg_minion %}
|
||||
{%- do default_keys.append('ext_pillar') %}
|
||||
ext_pillar:
|
||||
@ -858,11 +987,24 @@ ext_pillar:
|
||||
# "salt-key -F master" on the Salt master.
|
||||
{{ get_config('master_finger', "''") }}
|
||||
|
||||
# Use TLS/SSL encrypted connection between master and minion.
|
||||
# Can be set to a dictionary containing keyword arguments corresponding to Python's
|
||||
# 'ssl.wrap_socket' method.
|
||||
# Default is None.
|
||||
#ssl:
|
||||
# keyfile: <path_to_keyfile>
|
||||
# certfile: <path_to_certfile>
|
||||
# ssl_version: PROTOCOL_TLSv1_2
|
||||
|
||||
|
||||
###### Thread settings #####
|
||||
###########################################
|
||||
# Disable multiprocessing support, by default when a minion receives a
|
||||
# publication a new process is spawned and the command is executed therein.
|
||||
#
|
||||
# WARNING: Disabling multiprocessing may result in substantial slowdowns
|
||||
# when processing large pillars. See https://github.com/saltstack/salt/issues/38758
|
||||
# for a full explanation.
|
||||
{{ get_config('multiprocessing', 'True') }}
|
||||
|
||||
|
||||
@ -1024,8 +1166,24 @@ ext_pillar:
|
||||
|
||||
###### Returner settings ######
|
||||
############################################
|
||||
# Which returner(s) will be used for minion's result:
|
||||
# Default Minion returners. Can be a comma delimited string or a list:
|
||||
#
|
||||
#return: mysql
|
||||
#
|
||||
#return: mysql,slack,redis
|
||||
#
|
||||
#return:
|
||||
# - mysql
|
||||
# - hipchat
|
||||
# - slack
|
||||
{%- if 'return' in cfg_minion and cfg_minion['return'] is not string %}
|
||||
return:
|
||||
{% for name in cfg_minion['return'] -%}
|
||||
- {{ name }}
|
||||
{% endfor -%}
|
||||
{%- else %}
|
||||
{{ get_config('return', '') }}
|
||||
{%- endif %}
|
||||
|
||||
###### Miscellaneous settings ######
|
||||
############################################
|
||||
|
Loading…
Reference in New Issue
Block a user