Merge branch '2016.11' into fix-doc-local-returner

This commit is contained in:
Roald Nefs 2017-10-16 16:29:22 +02:00 committed by GitHub
commit efd58f7594
3096 changed files with 623566 additions and 118375 deletions

5
.codeclimate.yml Normal file
View file

@ -0,0 +1,5 @@
languages:
Ruby: false
JavaScript: false
Python: true
PHP: false

7
.editorconfig Normal file
View file

@ -0,0 +1,7 @@
# For more info on EditorConfig, see: http://EditorConfig.org
root = true
[*.py]
indent_style = space
indent_size = 4

60
.github/CODEOWNERS vendored Normal file
View file

@ -0,0 +1,60 @@
# SALTSTACK CODE OWNERS
# See https://help.github.com/articles/about-codeowners/
# for more info about CODEOWNERS file
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# See https://help.github.com/articles/about-codeowners/
# for more info about the CODEOWNERS file
# Team Boto
salt/**/*boto* @saltstack/team-boto
# Team Core
salt/auth/ @saltstack/team-core
salt/cache/ @saltstack/team-core
salt/cli/ @saltstack/team-core
salt/client/* @saltstack/team-core
salt/config/* @saltstack/team-core
salt/daemons/ @saltstack/team-core
salt/pillar/ @saltstack/team-core
salt/loader.py @saltstack/team-core
salt/payload.py @saltstack/team-core
salt/**/master* @saltstack/team-core
salt/**/minion* @saltstack/team-core
# Team Cloud
salt/cloud/ @saltstack/team-cloud
salt/utils/openstack/ @saltstack/team-cloud
salt/utils/aws.py @saltstack/team-cloud
salt/**/*cloud* @saltstack/team-cloud
# Team NetAPI
salt/cli/api.py @saltstack/team-netapi
salt/client/netapi.py @saltstack/team-netapi
salt/netapi/ @saltstack/team-netapi
# Team Network
salt/proxy/ @saltstack/team-proxy
# Team SPM
salt/cli/spm.py @saltstack/team-spm
salt/spm/ @saltstack/team-spm
# Team SSH
salt/cli/ssh.py @saltstack/team-ssh
salt/client/ssh/ @saltstack/team-ssh
salt/runners/ssh.py @saltstack/team-ssh
salt/**/thin.py @saltstack/team-ssh
# Team State
salt/state.py @saltstack/team-state
# Team Transport
salt/transport/ @saltstack/team-transport
salt/utils/zeromq.py @saltstack/team-transport
# Team Windows
salt/**/*win* @saltstack/team-windows

View file

@ -1,3 +1,12 @@
Licence Notice
==============
The Salt project is open and encouraging to code contributions. Please be
advised that all code contributions will be licenced under the Apache 2.0
License. We cannot accept contributions that already hold a Licence other
than Apache 2.0 without explicit exception.
Reporting issues
================
@ -10,7 +19,7 @@ A bug is a *demonstrable problem* that is caused by the code in the repository.
Please read the following guidelines before you `report an issue`_
1. **Use the GitHub issue search** check if the issue has
1. **Use the GitHub issue search** -- check if the issue has
already been reported. If it has been, please comment on the existing issue.
2. **Check if the issue has been fixed** — Various point-release branches, such
@ -18,10 +27,10 @@ Please read the following guidelines before you `report an issue`_
a fix. Please try to reproduce the bug against the latest git HEAD or the latest
release.
3. **Isolate the demonstrable problem** make sure that the
3. **Isolate the demonstrable problem** -- make sure that the
code in the project's repository is *definitely* responsible for the issue.
4. **Include a reproducible example** Provide the steps which
4. **Include a reproducible example** -- Provide the steps which
led you to the problem.
Please try to be as detailed as possible in your report, too. What is your

10
.github/ISSUE_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,10 @@
### Description of Issue/Question
### Setup
(Please provide relevant configs and/or SLS files (Be sure to remove sensitive info).)
### Steps to Reproduce Issue
(Include debug logs if possible and relevant.)
### Versions Report
(Provided by running `salt --versions-report`. Please also mention any differences in master/minion versions.)

15
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,15 @@
### What does this PR do?
### What issues does this PR fix or reference?
### Previous Behavior
Remove this section if not relevant
### New Behavior
Remove this section if not relevant
### Tests written?
Yes/No
Please review [Salt's Contributing Guide](https://docs.saltstack.com/en/latest/topics/development/contributing.html) for best practices.

41
.gitignore vendored
View file

@ -17,16 +17,18 @@ MANIFEST
# top of salt such as
# - /some/path$ git clone https://github.com/thatch45/salt.git
# - /some/path$ virtualenv --python=/usr/bin/python2.6 salt
bin/
include/
lib/
lib64
pip/
share/
tests/integration/tmp/
# tox - ignore any tox-created virtualenv dirs
.tox
/bin/
/etc/
/include/
/lib/
/lib64/
/local/
/pip/
/share/
/tests/integration/tmp/
/tests/cachedir/
/tests/unit/templates/roots/
/var/
# setuptools stuff
*.egg-info
@ -37,6 +39,7 @@ coverage.xml
htmlcov/
# IDE files
/.settings
/.project
/.pydevproject
/.idea
@ -51,8 +54,8 @@ htmlcov/
tags
# ignore Vagrant file
Vagrantfile
.vagrant
**/Vagrantfile
**/.vagrant
# Compiled translation files should not be VCS'ed
# locale/zh_CN/LC_MESSAGES/topics/virt/nic.mo
@ -67,6 +70,20 @@ _syspaths.py
# Ignore grains file written out during tests
tests/integration/files/conf/grains
/salt/_syspaths.py
# ignore the local root
/root/**
# Ignore file cache created by jinja tests
tests/unit/templates/roots
# Pycharm
.idea
# Ignore the log directory created by tests
/logs
tests/integration/cloud/providers/logs
# Private keys from the integration tests
tests/integration/cloud/providers/pki/minions

17
.mention-bot Normal file
View file

@ -0,0 +1,17 @@
{
"alwaysNotifyForPaths": [
{
"name": "ryan-lane",
"files": ["salt/**/*boto*.py"],
"skipTeamPrs": false
},
{
"name": "tkwilliams",
"files": ["salt/**/*boto*.py"],
"skipTeamPrs": false
}
],
"skipTitle": "Merge forward",
"userBlacklist": ["cvrebert", "markusgattol", "olliewalsh", "basepi"]
}

341
.pylintrc
View file

@ -1,5 +1,4 @@
[MASTER]
# Specify a configuration file.
#rcfile=
@ -31,28 +30,53 @@ load-plugins=saltpylint.pep8,
saltpylint.pep263,
saltpylint.strings,
saltpylint.fileperms,
saltpylint.py3modernize,
saltpylint.smartup,
saltpylint.minpyver
# Use multiple processes to speed up Pylint.
# Don't bump this values on PyLint 1.4.0 - Know bug that ignores the passed --rcfile
jobs=1
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-whitelist=
# Fileperms Lint Plugin Settings
fileperms-default=0644
fileperms-ignore-paths=tests/runtests.py,tests/jenkins*.py,tests/saltsh.py,tests/buildpackage.py
# Py3 Modernize PyLint Plugin Settings
modernize-nofix = libmodernize.fixes.fix_dict_six,
saltpylint.py3modernize.fixes.fix_dict_salt_six
# Minimum Python Version To Enforce
minimum-python-version = 2.6
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
confidence=
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time.
# multiple time. See also the "--disable" option for examples.
#enable=
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once).
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then re-enable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=W0142,
C0330,
I0011,
@ -80,12 +104,13 @@ disable=W0142,
# C0330 (bad-continuation)
# I0011 (locally-disabling)
# I0012 (locally-enabling)
# W1202 (logging-format-interpolation)
[REPORTS]
# Set the output format. Available formats are text, parseable, colorized, msvs
# (visual studio) and html
# (visual studio) and html. You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=text
# Put messages in a separate file for each module / package specified on the
@ -107,13 +132,95 @@ evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / stateme
# evaluation report (RP0004).
comment=no
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details
#msg-template=
[VARIABLES]
# Tells whether we should check for unused import in __init__ files.
init-import=no
# A regular expression matching the name of dummy variables (i.e. expectedly
# not used).
dummy-variables-rgx=_|dummy
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid to define new builtins when possible.
additional-builtins=__opts__,
__utils__,
__salt__,
__pillar__,
__grains__,
__context__,
__ret__,
__env__,
__low__,
__states__,
__lowstate__,
__running__,
__active_provider_name__,
__master_opts__,
__jid_event__,
__instance_id__,
__salt_system_encoding__,
__proxy__,
__serializers__,
__reg__,
__events__
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,_cb
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=120
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
# List of optional constructs for which whitespace checking is disabled
no-space-check=trailing-comma,dict-separator
# Maximum number of lines in a module
max-module-lines=3000
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=LF
[LOGGING]
# Logging modules to check that the string format arguments are in logging
# function parameter format
#logging-modules=logging
#
# Disabled because it not only complains about %s arguments but it also
# complains about {0} arguments
logging-modules=
[TYPECHECK]
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis
ignored-modules=
# List of classes names for which member attributes should not be checked
# (useful for classes with attributes dynamically set).
ignored-classes=SQLObject
@ -128,103 +235,12 @@ zope=no
generated-members=REQUEST,acl_users,aq_parent
[BASIC]
# Required attributes for module, separated by a comma
required-attributes=
# List of builtins function names that should not be used, separated by a comma
bad-functions=map,filter,apply,input
# Regular expression which should only match correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Regular expression which should only match correct module level names
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Regular expression which should only match correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
# Regular expression which should only match correct function names
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match correct method names
method-rgx=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match correct instance attribute names
attr-rgx=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match correct argument names
argument-rgx=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match correct variable names
variable-rgx=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match correct list comprehension /
# generator expression variable names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
# Good variable names which should always be accepted, separated by a comma
good-names=i,j,k,ex,Run,_,log
# Bad variable names which should always be refused, separated by a comma
bad-names=foo,bar,baz,toto,tutu,tata
# Regular expression which should only match functions or classes name which do
# not require a docstring
no-docstring-rgx=__.*__
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,FIX,XXX,TODO
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=120
# Maximum number of lines in a module
max-module-lines=3000
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
[VARIABLES]
# Tells whether we should check for unused import in __init__ files.
init-import=no
# A regular expression matching the beginning of the name of dummy variables
# (i.e. not used).
dummy-variables-rgx=_|dummy
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid to define new builtins when possible.
additional-builtins=__opts__,
__salt__,
__pillar__,
__grains__,
__context__,
__ret__,
__env__,
__low__,
__states__,
__lowstate__,
__running__,
__active_provider_name__,
__master_opts__,
__jid_event__,
__instance_id__,
__salt_system_encoding__
[SIMILARITIES]
# Minimum lines number of a similarity.
min-similarity-lines=4
@ -234,12 +250,120 @@ ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=no
[BASIC]
# Required attributes for module, separated by a comma (will be removed in Pylint 2.0)
#required-attributes=
# List of builtins function names that should not be used, separated by a comma
bad-functions=map,filter,apply,input
# Good variable names which should always be accepted, separated by a comma
good-names=i,j,k,ex,Run,_,log
# Bad variable names which should always be refused, separated by a comma
bad-names=foo,bar,baz,toto,tutu,tata
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Include a hint for the correct naming format with invalid-name
include-naming-hint=no
# Regular expression matching correct function names
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for function names
function-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct variable names
variable-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for variable names
variable-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct constant names
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Naming hint for constant names
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Regular expression matching correct attribute names
attr-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for attribute names
attr-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct argument names
argument-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for argument names
argument-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Naming hint for class attribute names
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
# Naming hint for inline iteration names
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
# Naming hint for class names
class-name-hint=[A-Z_][a-zA-Z0-9]+$
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Naming hint for module names
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Regular expression matching correct method names
method-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for method names
method-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=__.*__
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
[SPELLING]
# Spelling dictionary name. Available dictionaries: none. To make it working
# install python-enchant package.
spelling-dict=
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to indicated private dictionary in
# --spelling-private-dict-file option instead of raising a message.
spelling-store-unknown-words=no
[CLASSES]
# List of interface methods to ignore, separated by a comma. This is used for
# instance to not check methods defines in Zope's Interface base class.
ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
# Will be removed in Pylint 2.0
#ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,__new__,setUp
@ -247,11 +371,17 @@ defining-attr-methods=__init__,__new__,setUp
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcs
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,_fields,_replace,_source,_make
[IMPORTS]
# Deprecated modules which should not be used, separated by a comma
deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
deprecated-modules=regsub,TERMIOS,Bastion,rexec
# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled)
@ -267,7 +397,6 @@ int-import-graph=
[DESIGN]
# Maximum number of arguments for function / method
max-args=35
@ -276,7 +405,6 @@ max-args=35
ignored-argument-names=_.*
# Maximum number of locals for function / method body
# Let's have max-args + 5
max-locals=40
# Maximum number of return / yield for function / method body
@ -284,10 +412,9 @@ max-returns=6
# Maximum number of branch for function / method body
# We create a lot of branches in salt, 4x the default value
max-branchs=48
max-branches=48
# Maximum number of statements in function / method body
# Again, we have LOTS in salt. Double default
max-statements=100
# Maximum number of parents for a class (see R0901).

View file

@ -1,4 +1,6 @@
[MASTER]
# Specify a configuration file.
#rcfile=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
@ -11,35 +13,63 @@ init-hook="
KToKICAgICAgICBhY3RpdmF0ZV90aGlzID0gb3MucGF0aC5qb2luKG9zLnBhdGguam9pbih2ZV9k \
aXIsICdTY3JpcHRzJyksICdhY3RpdmF0ZV90aGlzLnB5JykKCiAgICBleGVjZmlsZShhY3RpdmF0 \
ZV90aGlzLCBkaWN0KF9fZmlsZV9fPWFjdGl2YXRlX3RoaXMpKQo='.decode('base64')"
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=CVS
# Pickle collected data for later comparisons.
persistent=no
# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
load-plugins=saltpylint.pep8,
saltpylint.pep263,
saltpylint.strings,
saltpylint.fileperms,
saltpylint.py3modernize,
saltpylint.smartup,
saltpylint.minpyver
# Use multiple processes to speed up Pylint.
# Don't bump this values on PyLint 1.4.0 - Know bug that ignores the passed --rcfile
jobs=1
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-whitelist=
# Fileperms Lint Plugin Settings
fileperms-default=0644
fileperms-ignore-paths=tests/runtests.py,tests/jenkins*.py,tests/saltsh.py,tests/buildpackage.py
# Py3 Modernize PyLint Plugin Settings
modernize-nofix = libmodernize.fixes.fix_dict_six,
saltpylint.py3modernize.fixes.fix_dict_salt_six
# Minimum Python Version To Enforce
minimum-python-version = 2.6
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
confidence=
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time. See also the "--disable" option for examples.
#enable=E0001,E0100,E0101,E0102,E0103,E0104,E0105,E0106,E0107,E0108,E0202,E0203,E0211,E0213,E0221,E0222,E0601,E0602,E0603,E0604,E0701,E0702,E0710,E0711,E1001,E1002,E1003,E1102,E1111,E1120,E1121,E1122,E1123,E1124,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,C0112,C0121,C0202,C0321,C0322,C0323,C0324,W0101,W0102,W0104,W0105,W0106,W0107,W0108,W0109,W0120,W0141,W0150,W0199,W0211,W0221,W0222,W0223,W0231,W0232,W0233,W0301,W0311,W0312,W0331,W0332,W0333,W0401,W0402,W0403,W0406,W0410,W0601,W0602,W0604,W0614,W0623,W0701,W0702,W0703,W0710,W0711,W1001,W1111,W1201,W1300,W1301,W1401,W1402,F0202
#enable=
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# disable everything first and then re-enable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
@ -153,43 +183,47 @@ disable=R,
# E8402 module level import not at top of file
# E8731 do not assign a lambda expression, use a def
[REPORTS]
# Tells whether to display a full report or only the messages
# This will be removed in pylint 1.6
reports=no
# Set the output format. Available formats are text, parseable, colorized, msvs
# (visual studio) and html
# output-format=parseable
msg-template='{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}'
# (visual studio) and html. You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=text
# Put messages in a separate file for each module / package specified on the
# command line instead of printing them on stdout. Reports (if any) will be
# written in a file name "pylint_global.[txt|html]".
files-output=no
# Tells whether to display a full report or only the messages
# This will be removed in pylint 1.6
reports=no
[BASIC]
# Python expression which should return a note less than 10 (10 is the highest
# note). You have access to the variables errors warning, statement which
# respectively contain the number of errors / warnings messages and the total
# number of statements analyzed. This is used by the global evaluation report
# (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
# List of builtins function names that should not be used, separated by a comma
bad-functions=apply,input
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=120
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details
#msg-template=
msg-template='{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}'
[VARIABLES]
# Tells whether we should check for unused import in __init__ files.
init-import=no
# A regular expression matching the name of dummy variables (i.e. expectedly
# not used).
dummy-variables-rgx=_|dummy
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid to define new builtins when possible.
additional-builtins=__opts__,
__utils__,
__salt__,
__pillar__,
__grains__,
@ -204,14 +238,261 @@ additional-builtins=__opts__,
__master_opts__,
__jid_event__,
__instance_id__,
__salt_system_encoding__
__salt_system_encoding__,
__proxy__,
__serializers__,
__reg__,
__events__
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,_cb
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=120
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
# List of optional constructs for which whitespace checking is disabled
no-space-check=trailing-comma,dict-separator
# Maximum number of lines in a module
max-module-lines=3000
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=LF
[LOGGING]
# Logging modules to check that the string format arguments are in logging
# function parameter format
#logging-modules=logging
#
# Disabled because it not only complains about %s arguments but it also
# complains about {0} arguments
logging-modules=
[TYPECHECK]
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis
ignored-modules=
# List of classes names for which member attributes should not be checked
# (useful for classes with attributes dynamically set).
ignored-classes=SQLObject
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E0201 when accessed. Python regular
# expressions are accepted.
generated-members=REQUEST,acl_users,aq_parent
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,FIX,XXX,TODO
[SIMILARITIES]
# Minimum lines number of a similarity.
min-similarity-lines=4
# Ignore comments when computing similarities.
ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=no
[BASIC]
# List of builtins function names that should not be used, separated by a comma
bad-functions=map,filter,apply,input
# Good variable names which should always be accepted, separated by a comma
good-names=i,j,k,ex,Run,_,log
# Bad variable names which should always be refused, separated by a comma
bad-names=foo,bar,baz,toto,tutu,tata
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Include a hint for the correct naming format with invalid-name
include-naming-hint=no
# Regular expression matching correct function names
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for function names
function-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct variable names
variable-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for variable names
variable-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct constant names
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Naming hint for constant names
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Regular expression matching correct attribute names
attr-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for attribute names
attr-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct argument names
argument-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for argument names
argument-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Naming hint for class attribute names
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
# Naming hint for inline iteration names
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
# Naming hint for class names
class-name-hint=[A-Z_][a-zA-Z0-9]+$
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Naming hint for module names
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Regular expression matching correct method names
method-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for method names
method-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=__.*__
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
[SPELLING]
# Spelling dictionary name. Available dictionaries: none. To make it working
# install python-enchant package.
spelling-dict=
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to indicated private dictionary in
# --spelling-private-dict-file option instead of raising a message.
spelling-store-unknown-words=no
[CLASSES]
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,__new__,setUp
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcs
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,_fields,_replace,_source,_make
[IMPORTS]
# Deprecated modules which should not be used, separated by a comma
deprecated-modules=regsub,TERMIOS,Bastion,rexec
# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled)
import-graph=
# Create a graph of external dependencies in the given file (report RP0402 must
# not be disabled)
ext-import-graph=
# Create a graph of internal dependencies in the given file (report RP0402 must
# not be disabled)
int-import-graph=
[DESIGN]
# Maximum number of arguments for function / method
max-args=35
# Argument names that match this expression will be ignored. Default to name
# with leading underscore
ignored-argument-names=_.*
# Maximum number of locals for function / method body
max-locals=40
# Maximum number of return / yield for function / method body
max-returns=6
# Maximum number of branch for function / method body
# We create a lot of branches in salt, 4x the default value
max-branches=48
# Maximum number of statements in function / method body
max-statements=100
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of attributes for a class (see R0902).
max-attributes=7
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
[EXCEPTIONS]

View file

@ -16,8 +16,8 @@ before_install:
- pip install git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting
install:
- pip install -r zeromq-requirements.txt -r cloud-requirements.txt
- pip install --allow-all-external -r opt_requirements.txt
- pip install -r requirements/zeromq.txt -r requirements/cloud.txt
- pip install --allow-all-external -r requirements/opt.txt
before_script:
- "/home/travis/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/pylint --rcfile=.testing.pylintrc salt/ && echo 'Finished Pylint Check Cleanly' || echo 'Finished Pylint Check With Errors'"

11
AUTHORS
View file

@ -8,7 +8,7 @@ Whos Who in Salt
The Man With the Plan
----------------------------
Thomas S Hatch is the main developer of Salt. He is the founder, owner,
Thomas S. Hatch is the main developer of Salt. He is the founder, owner,
maintainer and lead of the Salt project, as well as author of the majority
of the Salt code and documentation.
@ -23,8 +23,11 @@ Developers
Aaron Bull Schaefer <aaron@elasticdog.com>
Aaron Toponce <aaron.toponce@gmail.com>
Andrew Hammond <andrew.george.hammond@gmail.com>
Aditya Kulkarni <adi@saltstack.com>
Alexander Pyatkin <asp@thexyz.net>
Andre Sachs <andre@sachs.nom.za>
Andrew Colin Kissa <andrew@topdog.za.net>
Andrew Kuhnhausen <trane@errstr.com>
Antti Kaihola <akaihol+github@ambitone.com>
archme <archme.mail@gmail.com>
@ -32,6 +35,7 @@ Brad Barden <brad@mifflinet.net>
Bret Palsson <bretep@gmail.com>
Brian Wagner <wags@wagsworld.net>
C. R. Oldham <cr@saltstack.com>
Carl Loa Odin <carlodin@gmail.com>
Carlo Pires <carlopires@gmail.com>
Chris Rebert <chris.rebert@hulu.com>
Chris Scheller <schelcj@umich.edu>
@ -81,6 +85,7 @@ Mickey Malone <mickey.malone@gmail.com>
Michael Steed <msteed@saltstack.com>
Mike Place <mp@saltstack.com>
Mitch Anderson <mitch@metauser.net>
Mostafa Hussein <mostafa.hussein91@gmail.com>
Nathaniel Whiteinge <seth@eseth.com>
Nicolas Delaby <nicolas.delaby@ezeep.com>
Nicole Thomas <nicole@saltstack.com>
@ -95,6 +100,8 @@ Robert Fielding
Sean Channel <pentabular@gmail.com>
Seth House <seth@eseth.com>
Seth Vidal <skvidal@fedoraproject.org>
Stas Alekseev <stas.alekseev@gmail.com>
Thibault Cohen <titilambert@gmail.com>
Thomas Schreiber <tom@rizumu.us>
Thomas S Hatch <thatch45@gmail.com>
Tor Hveem <xt@bash.no>
@ -110,6 +117,6 @@ contributors please check ohloh, this file can sometimes be out of date:
https://www.ohloh.net/p/salt/contributors
To see current statistics check out the Github Pulse page:
To see current statistics check out the GitHub Pulse page:
https://github.com/saltstack/salt/pulse

74
CONDUCT.md Normal file
View file

@ -0,0 +1,74 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at conduct@saltstack.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

41
COPYING
View file

@ -67,25 +67,6 @@ License: MIT License
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Files: salt/ext/ipaddr.py
Copyright: 2007 Google Inc.
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the full text of the Apache License, Version 2.0 can be
found in the file
`/usr/share/common-licenses/Apache-2.0'.
Files: doc/_ext/youtube.py
Copyright: 2009 Chris Pickel <sfiera@gmail.com>
License: BSD-2-clause
@ -153,3 +134,25 @@ License: Apache-2.0
`/usr/share/common-licenses/Apache-2.0'.
.
Files in this directory were created in-house.
Files: tests/utils/cptestcase.py
Copyright: (c) 2014 Adam Hajari
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -6,10 +6,10 @@ welcome!
To assist in Salt development, you can help in a number of ways.
Setting a Github pull request
Setting a GitHub pull request
-----------------------------
This is the preferred method for contributions, simply create a Github
This is the preferred method for contributions, simply create a GitHub
fork, commit your changes to the fork, and then open up a pull request.
Posting patches to the mailing list
@ -110,10 +110,10 @@ You can use it doing the following::
./fedora_setup.sh install
Installing dependencies on OS X
```````````````````````````````
Installing dependencies on macOS
````````````````````````````````
One simple way to get all needed dependencies on OS X is to use homebrew,
One simple way to get all needed dependencies on macOS is to use homebrew,
and install the following packages::
brew install swig
@ -140,6 +140,10 @@ M2Crypto installed using apt::
virtualenv --system-site-packages /path/to/your/virtualenv
On Gentoo systems you should use ``--system-site-packages`` when creating
the virtualenv to enable pkg and portage_config functionality as the
portage package is not available via pip
.. note:: Using your system Python modules in the virtualenv
If you have the required python modules installed on your system already
@ -163,7 +167,7 @@ ZeroMQ Transport:
.. code-block:: bash
pip install -r zeromq-requirements.txt
pip install -r requirements/zeromq.txt
pip install psutil
pip install -e .
@ -180,7 +184,7 @@ RAET Transport:
.. code-block:: bash
pip install -r raet-requirements.txt
pip install -r requirements/raet.txt
pip install psutil
pip install -e .
@ -208,7 +212,7 @@ Edit the master config file:
``/path/to/your/virtualenv/salt-master.pid``.
4. If you are also running a non-development version of Salt you will have to
change the ``publish_port`` and ``ret_port`` values as well.
5. On OS X also set max_open_files to 2048.
5. On xxxOS X also set max_open_files to 2048.
Edit the minion config file:
@ -225,7 +229,7 @@ Edit the minion config file:
also running a non-development version of Salt, then you will have to
change the ``master_port`` value in the minion config to match.
.. note:: Using `salt-call` with a :doc:`Standalone Minion </topics/tutorials/standalone_minion>`
.. note:: Using `salt-call` with a :ref:`Standalone Minion <tutorial-standalone-minion>`
If you plan to run `salt-call` with this self-contained development
environment in a masterless setup, you should invoke `salt-call` with
@ -279,9 +283,9 @@ If it is less than 2047, you should increase it with::
Running the tests
~~~~~~~~~~~~~~~~~
For running tests, you'll also need to install ``dev_requirements_python2x.txt``::
For running tests, you'll also need to install ``requirements/dev_python2x.txt``::
pip install -r dev_requirements_python2x.txt
pip install -r requirements/dev_python2x.txt
Finally you use setup.py to run the tests with the following command::

View file

@ -1,6 +1,6 @@
Salt - Remote execution system
Copyright 2014-2015 SaltStack Team
Copyright 2014-2016 SaltStack Team
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View file

@ -2,10 +2,10 @@ include AUTHORS
include HACKING.rst
include LICENSE
include README.rst
include _requirements.txt
include raet-requirements.txt
include cloud-requirements.txt
include zeromq-requirements.txt
include requirements/base.txt
include requirements/raet.txt
include requirements/cloud.txt
include requirements/zeromq.txt
include tests/*.py
recursive-include tests *
include tests/integration/modules/files/*

View file

@ -42,13 +42,13 @@ Freenode at #salt. There is no need to introduce yourself, or ask permission to
join in, just help and be helped! Make sure to wait for an answer, sometimes it
may take a few moments for someone to reply.
`<http://webchat.freenode.net/?channels=salt&uio=Mj10cnVlJjk9dHJ1ZSYxMD10cnVl83>`_
`<http://webchat.freenode.net/?channels=salt&uio=Mj10cnVlJjk9dHJ1ZSYxMD10cnVl83>`_
**Mailing List** - The SaltStack community users mailing list is hosted by
Google groups. Anyone can post to ask questions about SaltStack products and
anyone can help answer. Join the conversation!
`<https://groups.google.com/forum/#!forum/salt-users>`_
`<https://groups.google.com/forum/#!forum/salt-users>`_
You may subscribe to the list without a Google account by emailing
salt-users+subscribe@googlegroups.com and you may post to the list by emailing
@ -104,6 +104,7 @@ helping people get new code and fixes into SaltStack projects. Log into
GitHub and get started with one of the largest developer communities in
the world. The following links should get you started:
* `<https://github.com/saltstack>`_
* `<https://docs.saltstack.com/en/latest/topics/development/index.html>`_
`<https://github.com/saltstack>`_
`<https://docs.saltstack.com/en/latest/topics/development/index.html>`_

View file

@ -1,5 +0,0 @@
Jinja2
msgpack-python > 0.3
PyYAML
MarkupSafe
requests >= 1.0.0

View file

@ -1,4 +1,4 @@
# This file should normally be installed at: /etc/salt/cloud
# This file should normally be installed at: /etc/salt/cloud
##########################################
@ -44,7 +44,7 @@
#log_level_logfile: info
# The date and time format used in log messages. Allowed date/time formating
# The date and time format used in log messages. Allowed date/time formatting
# can be seen here:
#
# http://docs.python.org/library/time.html#time.strftime
@ -57,8 +57,21 @@
#
# http://docs.python.org/library/logging.html#logrecord-attributes
#
# Console log colors are specified by these additional formatters:
#
# %(colorlevel)s
# %(colorname)s
# %(colorprocess)s
# %(colormsg)s
#
# Since it is desirable to include the surrounding brackets, '[' and ']', in
# the coloring of the messages, these color formatters also include padding as
# well. Color LogRecord attributes are only available for console logging.
#
#log_fmt_console: '%(colorlevel)s %(colormsg)s'
#log_fmt_console: '[%(levelname)-8s] %(message)s'
#log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'
#
#log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
# Logger levels can be used to tweak specific loggers logging levels.

View file

@ -4,17 +4,16 @@
# Because the location to this file must be explicitly declared when using it,
# its actual location on disk is up to the user.
#fedora_rs:
# - fedora1
# - fedora2
# - fedora3
# - fedora4
# - fedora5
fedora_rs:
- fedora1
- fedora2
- fedora3
- fedora4
- fedora5
ubuntu_rs:
- ubuntu1
- ubuntu2
- ubuntu3
- ubuntu4
- ubuntu5
#ubuntu_rs:
# - ubuntu1
# - ubuntu2
# - ubuntu3
# - ubuntu4
# - ubuntu5

View file

@ -1,23 +1,27 @@
base_ec2:
provider: my-ec2-config
image: ami-e565ba8c
size: t1.micro
script: python-bootstrap
minion:
cheese: edam
# This file may be used in addition to, or instead of, the files in the
# cloud.profiles.d/ directory. The format for this file, and all files in that
# directory, is identical.
ubuntu_rs:
provider: my-openstack-rackspace-config
image: Ubuntu 12.04 LTS
size: 256 server
script: Ubuntu
minion:
cheese: edam
#base_ec2:
# provider: my-ec2-config
# image: ami-e565ba8c
# size: t1.micro
# script: python-bootstrap
# minion:
# cheese: edam
fedora_rs:
provider: my-openstack-rackspace-config
image: Fedora 17
size: 256 server
script: Fedora
minion:
cheese: edam
#ubuntu_rs:
# provider: my-openstack-rackspace-config
# image: Ubuntu 12.04 LTS
# size: 256 server
# script: Ubuntu
# minion:
# cheese: edam
#fedora_rs:
# provider: my-openstack-rackspace-config
# image: Fedora 17
# size: 256 server
# script: Fedora
# minion:
# cheese: edam

View file

@ -1,116 +1,115 @@
# Official distro images for Arch, Centos, Debian, Fedora, FreeBSD, Ubuntu
# Official distro images for Arch, Centos, Debian, Fedora, FreeBSD, Ubuntu
# Arch Linux
# https://wiki.archlinux.org/index.php/Arch_Linux_AMIs_for_Amazon_Web_Services
arch_ec2:
provider: my-ec2-config
image: ami-6ee95107
size: t1.micro
ssh_username: root
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#arch_ec2:
# provider: my-ec2-config
# image: ami-6ee95107
# size: t1.micro
# ssh_username: root
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
arch_cloud-init_ec2:
provider: my-ec2-config
image: ami-596de730
size: t1.micro
ssh_username: root
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#arch_cloud-init_ec2:
# provider: my-ec2-config
# image: ami-596de730
# size: t1.micro
# ssh_username: root
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
# Centos 6, available from ec2 marketplace for no-charge
# http://wiki.centos.org/Cloud/AWS
centos_6:
provider: my-ec2-config
image: ami-86e15bef
size: t1.micro
ssh_username: root
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#centos_6:
# provider: my-ec2-config
# image: ami-86e15bef
# size: t1.micro
# ssh_username: root
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
# official Debian, available at no-charge from ec2 marketplace:
# http://wiki.debian.org/Cloud/AmazonEC2Image
debian_squeeze_ec2:
provider: my-ec2-config
image: ami-a121a6c8
size: t1.micro
ssh_username: admin
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#debian_squeeze_ec2:
# provider: my-ec2-config
# image: ami-a121a6c8
# size: t1.micro
# ssh_username: admin
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
# Fedora project cloud images
# https://fedoraproject.org/wiki/Cloud_images
fedora_17_ec2:
provider: my-ec2-config
image: ami-2ea50247
size: t1.micro
ssh_username: ec2-user
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#fedora_17_ec2:
# provider: my-ec2-config
# image: ami-2ea50247
# size: t1.micro
# ssh_username: ec2-user
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
fedora_18_ec2:
provider: my-ec2-config
image: ami-6145cc08
size: t1.micro
ssh_username: ec2-user
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#fedora_18_ec2:
# provider: my-ec2-config
# image: ami-6145cc08
# size: t1.micro
# ssh_username: ec2-user
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
# FreeBSD 9.1
# http://www.daemonology.net/freebsd-on-ec2/
# this t1.micro instance does not auto-populate SSH keys see above link
freebsd_91_ec2:
provider: my-ec2-config
image: ami-5339bb3a
size: t1.micro
ssh_username: ec2-user
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#freebsd_91_ec2:
# provider: my-ec2-config
# image: ami-5339bb3a
# size: t1.micro
# ssh_username: ec2-user
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
freebsd_91_4XL_ec2:
provider: my-ec2-config
image: ami-79088510
size: Cluster Compute 4XL
ssh_username: ec2-user
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#freebsd_91_4XL_ec2:
# provider: my-ec2-config
# image: ami-79088510
# size: Cluster Compute 4XL
# ssh_username: ec2-user
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
# Canonical Ubuntu LTS images
# http://cloud-images.ubuntu.com/releases/
ubuntu_lucid_ec2:
provider: my-ec2-config
image: ami-21e47148
size: t1.micro
ssh_username: ubuntu
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
ubuntu_precise_ec2:
provider: my-ec2-config
image: ami-0145d268
size: t1.micro
ssh_username: ubuntu
location: us-east-1
minion:
grains:
cloud: ec2-us-east-1
#ubuntu_lucid_ec2:
# provider: my-ec2-config
# image: ami-21e47148
# size: t1.micro
# ssh_username: ubuntu
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1
#ubuntu_precise_ec2:
# provider: my-ec2-config
# image: ami-0145d268
# size: t1.micro
# ssh_username: ubuntu
# location: us-east-1
# minion:
# grains:
# cloud: ec2-us-east-1

View file

@ -1,106 +1,105 @@
# Official distro images for Arch, Centos, Debian, Fedora, FreeBSD, Ubuntu
# Official distro images for Arch, Centos, Debian, Fedora, FreeBSD, Ubuntu
# Arch Linux
# https://wiki.archlinux.org/index.php/Arch_Linux_AMIs_for_Amazon_Web_Services
arch_ec2:
provider: my-ec2-config
image: ami-337d5b76
size: t1.micro
ssh_username: root
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#arch_ec2:
# provider: my-ec2-config
# image: ami-337d5b76
# size: t1.micro
# ssh_username: root
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
arch_cloud-init_ec2:
provider: my-ec2-config
image: ami-6a5f7c2f
size: t1.micro
ssh_username: root
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#arch_cloud-init_ec2:
# provider: my-ec2-config
# image: ami-6a5f7c2f
# size: t1.micro
# ssh_username: root
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
# Centos 6, available from ec2 marketplace for no-charge
# http://wiki.centos.org/Cloud/AWS
centos_6:
provider: my-ec2-config
image: ami-f61630b3
size: t1.micro
ssh_username: root
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#centos_6:
# provider: my-ec2-config
# image: ami-f61630b3
# size: t1.micro
# ssh_username: root
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
# official Debian, available at no-charge from ec2 marketplace:
# http://wiki.debian.org/Cloud/AmazonEC2Image
debian_squeeze_ec2:
provider: my-ec2-config
image: ami-2c735269
size: t1.micro
ssh_username: admin
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#debian_squeeze_ec2:
# provider: my-ec2-config
# image: ami-2c735269
# size: t1.micro
# ssh_username: admin
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
# Fedora project cloud images
# https://fedoraproject.org/wiki/Cloud_images
fedora_17_ec2:
provider: my-ec2-config
image: ami-877e24c2
size: t1.micro
ssh_username: ec2-user
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#fedora_17_ec2:
# provider: my-ec2-config
# image: ami-877e24c2
# size: t1.micro
# ssh_username: ec2-user
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
fedora_18_ec2:
provider: my-ec2-config
image: ami-0899b94d
size: t1.micro
ssh_username: ec2-user
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#fedora_18_ec2:
# provider: my-ec2-config
# image: ami-0899b94d
# size: t1.micro
# ssh_username: ec2-user
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
# FreeBSD 9.1
# http://www.daemonology.net/freebsd-on-ec2/
# this t1.micro instance does not auto-populate SSH keys see above link
freebsd_91_ec2:
provider: my-ec2-config
image: ami-4c8baa09
size: t1.micro
ssh_username: ec2-user
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#freebsd_91_ec2:
# provider: my-ec2-config
# image: ami-4c8baa09
# size: t1.micro
# ssh_username: ec2-user
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
# Canonical Ubuntu LTS images
# http://cloud-images.ubuntu.com/releases/
ubuntu_lucid_ec2:
provider: my-ec2-config
image: ami-e63013a3
size: t1.micro
ssh_username: ubuntu
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
ubuntu_precise_ec2:
provider: my-ec2-config
image: ami-3ed8fb7b
size: t1.micro
ssh_username: ubuntu
location: us-west-1
minion:
grains:
cloud: ec2-us-west-1
#ubuntu_lucid_ec2:
# provider: my-ec2-config
# image: ami-e63013a3
# size: t1.micro
# ssh_username: ubuntu
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1
#ubuntu_precise_ec2:
# provider: my-ec2-config
# image: ami-3ed8fb7b
# size: t1.micro
# ssh_username: ubuntu
# location: us-west-1
# minion:
# grains:
# cloud: ec2-us-west-1

View file

@ -1,116 +1,115 @@
# Official distro images for Arch, Centos, Debian, Fedora, FreeBSD, Ubuntu
# Official distro images for Arch, Centos, Debian, Fedora, FreeBSD, Ubuntu
# Arch Linux
# https://wiki.archlinux.org/index.php/Arch_Linux_AMIs_for_Amazon_Web_Services
arch_ec2:
provider: my-ec2-config
image: ami-bcf77e8c
size: t1.micro
ssh_username: root
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#arch_ec2:
# provider: my-ec2-config
# image: ami-bcf77e8c
# size: t1.micro
# ssh_username: root
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
arch_cloud-init_ec2:
provider: my-ec2-config
image: ami-6a5f7c2f
size: t1.micro
ssh_username: root
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#arch_cloud-init_ec2:
# provider: my-ec2-config
# image: ami-6a5f7c2f
# size: t1.micro
# ssh_username: root
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
# Centos 6, available from ec2 marketplace for no-charge
# http://wiki.centos.org/Cloud/AWS
centos_6:
provider: my-ec2-config
image: ami-de5bd2ee
size: t1.micro
ssh_username: root
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#centos_6:
# provider: my-ec2-config
# image: ami-de5bd2ee
# size: t1.micro
# ssh_username: root
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
# official Debian, available at no-charge from ec2 marketplace:
# http://wiki.debian.org/Cloud/AmazonEC2Image
debian_squeeze_ec2:
provider: my-ec2-config
image: ami-e4da52d4
size: t1.micro
ssh_username: admin
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#debian_squeeze_ec2:
# provider: my-ec2-config
# image: ami-e4da52d4
# size: t1.micro
# ssh_username: admin
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
# Fedora project cloud images
# https://fedoraproject.org/wiki/Cloud_images
fedora_17_ec2:
provider: my-ec2-config
image: ami-8e69e5be
size: t1.micro
ssh_username: ec2-user
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#fedora_17_ec2:
# provider: my-ec2-config
# image: ami-8e69e5be
# size: t1.micro
# ssh_username: ec2-user
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
fedora_18_ec2:
provider: my-ec2-config
image: ami-0266ed32
size: t1.micro
ssh_username: ec2-user
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#fedora_18_ec2:
# provider: my-ec2-config
# image: ami-0266ed32
# size: t1.micro
# ssh_username: ec2-user
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
# FreeBSD 9.1
# http://www.daemonology.net/freebsd-on-ec2/
# this t1.micro instance does not auto-populate SSH keys see above link
freebsd_91_ec2:
provider: my-ec2-config
image: ami-aa09819a
size: t1.micro
ssh_username: ec2-user
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#freebsd_91_ec2:
# provider: my-ec2-config
# image: ami-aa09819a
# size: t1.micro
# ssh_username: ec2-user
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
freebsd_91_4XL_ec2:
provider: my-ec2-config
image: ami-66169e56
size: Cluster Compute 4XL
ssh_username: ec2-user
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#freebsd_91_4XL_ec2:
# provider: my-ec2-config
# image: ami-66169e56
# size: Cluster Compute 4XL
# ssh_username: ec2-user
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
# Canonical Ubuntu LTS images
# http://cloud-images.ubuntu.com/releases/
ubuntu_lucid_ec2:
provider: my-ec2-config
image: ami-6ec8425e
size: t1.micro
ssh_username: ubuntu
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
ubuntu_precise_ec2:
provider: my-ec2-config
image: ami-e0941ed0
size: t1.micro
ssh_username: ubuntu
location: us-west-2
minion:
grains:
cloud: ec2-us-west-2
#ubuntu_lucid_ec2:
# provider: my-ec2-config
# image: ami-6ec8425e
# size: t1.micro
# ssh_username: ubuntu
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2
#ubuntu_precise_ec2:
# provider: my-ec2-config
# image: ami-e0941ed0
# size: t1.micro
# ssh_username: ubuntu
# location: us-west-2
# minion:
# grains:
# cloud: ec2-us-west-2

View file

@ -3,13 +3,13 @@
# directory is identical.
#my-digitalocean-config:
# provider: digital_ocean
# driver: digital_ocean
# client_key: wFGEwgregeqw3435gDger
# api_key: GDE43t43REGTrkilg43934t34qT43t4dgegerGEgg
# location: New York 1
#my-aws-quick-start:
# provider: ec2
# driver: ec2
# id: HJGRYCILJLKJYG
# key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
# keyname: test
@ -17,7 +17,7 @@
# private_key: /root/test.pem
#my-aws-default:
# provider: ec2
# driver: ec2
# id: HJGRYCILJLKJYG
# key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
# keyname: test
@ -25,12 +25,12 @@
# private_key: /root/test.pem
#my-gogrid-config:
# provider: gogrid
# driver: gogrid
# apikey: asdff7896asdh789
# sharedsecret: saltybacon
#my-openstack-hp-config:
# provider: openstack
# driver: openstack
# identity_url: 'https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/'
# compute_name: Compute
# compute_region: 'az-1.region-a.geo-1'
@ -41,7 +41,7 @@
# password: mypass
#my-ibmsce-config:
# provider: ibmsce
# driver: ibmsce
# user: myuser@mycorp.com
# password: mypass
# ssh_key_name: mykey
@ -49,30 +49,30 @@
# location: Raleigh
#my-joyent-config:
# provider: joyent
# driver: joyent
# user: fred
# password: saltybacon
# private_key: /root/joyent.pem
#my-linode-config:
# provider: linode
# driver: linode
# apikey: asldkgfakl;sdfjsjaslfjaklsdjf;askldjfaaklsjdfhasldsadfghdkf
# password: F00barbaz
#my-parallels-config:
# provider: parallels
# driver: parallels
# user: myuser
# password: xyzzy
# url: https://api.cloud.xmission.com:4465/paci/v1.0/
#my-proxmox-config:
# provider: proxmox
# driver: proxmox
# user: saltcloud@pve
# password: xyzzy
# url: your.proxmox.host
#my-openstack-rackspace-config:
# provider: openstack
# driver: openstack
# identity_url: 'https://identity.api.rackspacecloud.com/v2.0/tokens'
# compute_name: cloudServersOpenStack
# protocol: ipv4
@ -83,4 +83,4 @@
# apikey: 901d3f579h23c8v73q9
#my-saltify-config:
# provider: saltify
# driver: saltify

View file

@ -1,5 +1,5 @@
#my-digitalocean-config:
# provider: digital_ocean
# driver: digital_ocean
# client_key: wFGEwgregeqw3435gDger
# api_key: GDE43t43REGTrkilg43934t34qT43t4dgegerGEgg
# location: New York 1

View file

@ -1,5 +1,5 @@
#my-aws-quick-start:
# provider: ec2
# driver: ec2
# id: HJGRYCILJLKJYG
# key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
# keyname: test
@ -7,7 +7,7 @@
# private_key: /root/test.pem
#my-aws-default:
# provider: ec2
# driver: ec2
# id: HJGRYCILJLKJYG
# key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
# keyname: test

View file

@ -1,4 +1,4 @@
#my-gogrid-config:
# provider: gogrid
# driver: gogrid
# apikey: asdff7896asdh789
# sharedsecret: saltybacon

View file

@ -1,5 +1,5 @@
#my-openstack-hp-config:
# provider: openstack
# driver: openstack
# identity_url: 'https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/'
# compute_name: Compute
# compute_region: 'az-1.region-a.geo-1'

View file

@ -1,5 +1,5 @@
#my-ibmsce-config:
# provider: ibmsce
# driver: ibmsce
# user: myuser@mycorp.com
# password: mypass
# ssh_key_name: mykey

View file

@ -1,5 +1,5 @@
#my-joyent-config:
# provider: joyent
# driver: joyent
# user: fred
# password: saltybacon
# private_key: /root/joyent.pem

View file

@ -1,4 +1,4 @@
#my-linode-config:
# provider: linode
# driver: linode
# apikey: asldkgfakl;sdfjsjaslfjaklsdjf;askldjfaaklsjdfhasldsadfghdkf
# password: F00barbaz

View file

@ -1,5 +1,5 @@
#my-parallels-config:
# provider: parallels
# driver: parallels
# user: myuser
# password: xyzzy
# url: https://api.cloud.xmission.com:4465/paci/v1.0/

View file

@ -1,6 +1,5 @@
#my-proxmox-config:
# provider: proxmox
# driver: proxmox
# user: saltcloud@pve
# password: xyzzy
# url: your.proxmox.host

View file

@ -1,5 +1,5 @@
#my-openstack-rackspace-config:
# provider: openstack
# driver: openstack
# identity_url: 'https://identity.api.rackspacecloud.com/v2.0/tokens'
# compute_name: cloudServersOpenStack
# protocol: ipv4

View file

@ -1,2 +1,2 @@
#my-saltify-config:
# provider: saltify
# driver: saltify

View file

@ -1,11 +1,11 @@
#my-vsphere-config:
# provider: vsphere
# driver: vsphere
# user: myuser
# password: verybadpass
# url: 'https://10.1.1.1:443'
# Note: Your URL may or may not look like any of the following, depending on how
# your VMWare installation is configured:
# your VMware installation is configured:
#
# 10.1.1.1
# 10.1.1.1:443

View file

@ -27,31 +27,6 @@
# modified files cause conflicts, set verify_env to False.
#user: root
# Max open files
#
# Each minion connecting to the master uses AT LEAST one file descriptor, the
# master subscription connection. If enough minions connect you might start
# seeing on the console (and then salt-master crashes):
# Too many open files (tcp_listener.cpp:335)
# Aborted (core dumped)
#
# By default this value will be the one of `ulimit -Hn`, ie, the hard limit for
# max open files.
#
# If you wish to set a different value than the default one, uncomment and
# configure this setting. Remember that this value CANNOT be higher than the
# hard limit. Raising the hard limit depends on your OS and/or distribution,
# a good way to find the limit is to search the internet. For example:
# raise max open files hard limit debian
#
#max_open_files: 100000
# The number of worker threads to start. These threads are used to manage
# return calls made from minions to the master. If the master seems to be
# running slowly, increase the number of threads. This setting can not be
# set lower than 3.
#worker_threads: 5
# The port used by the communication interface. The ret (return) port is the
# interface used for the file server, authentication, job returns, etc.
#ret_port: 4506
@ -70,20 +45,28 @@
# Directory used to store public key data:
#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.
#key_cache: ''
# Directory to store job and cache data:
# This directory may contain sensitive data and should be protected accordingly.
#
#cachedir: /var/cache/salt/master
# 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.
#extension_modules: <no default>
# "states", "returners", "engines", "utils", etc.
#extension_modules: /var/cache/salt/master/extmods
# 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", "utils", etc.
# Like 'extension_modules' but can take an array of paths
#module_dirs: <no default>
# - /var/cache/salt/minion/extmods
#module_dirs: []
# Verify and set permissions on configuration directories at startup:
#verify_env: True
@ -107,9 +90,21 @@
# Set the default outputter used by the salt command. The default is "nested".
#output: nested
# To set a list of additional directories to search for salt outputters, set the
# outputter_dirs option.
#outputter_dirs: []
# 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.
#output_file: None
# Return minions that timeout when running commands like test.ping
#show_timeout: True
# Tell the client to display the jid when a job is published.
#show_jid: False
# By default, output is colored. To disable colored output, set the color value
# to False.
#color: True
@ -138,11 +133,23 @@
# the jobs system and is not generally recommended.
#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.
#minion_data_cache: True
# Cache subsystem module to use for minion data cache.
#cache: localfs
# Enables a fast in-memory cache booster and sets the expiration time.
#memcache_expire_seconds: 0
# Set a memcache limit in items (bank + key) per cache storage (driver + driver_opts).
#memcache_max_items: 1024
# Each time a cache storage got full cleanup all the expired items not just the oldest one.
#memcache_full_cleanup: False
# Enable collecting the memcache stats and log it on `debug` log level.
#memcache_debug: False
# Store all returns in the given returner.
# Setting this option requires that any returner-specific configuration also
# Setting this option requires that any returner-specific configuration also
# be set. See various returners in salt/returners for details on required
# configuration values. (See also, event_return_queue below.)
#
@ -154,15 +161,15 @@
# By default, events are not queued.
#event_return_queue: 0
# Only return events matching tags in a whitelist,
# event_return_whitelist:
# - salt/master/a_tag
# - salt/master/another_tag
# Only return events matching tags in a whitelist, supports glob matches.
#event_return_whitelist:
# - salt/master/a_tag
# - salt/run/*/ret
# Store all event returns _except_ the tags in a blacklist.
# event_return_blacklist:
# - salt/master/not_this_tag
# - salt/master/or_this_one
# Store all event returns **except** the tags in a blacklist, supports globs.
#event_return_blacklist:
# - salt/master/not_this_tag
# - salt/wheel/*/ret
# Passing very large events can cause the minion to consume large amounts of
# memory. This value tunes the maximum size of a message allowed onto the
@ -181,18 +188,21 @@
# the key rotation event as minions reconnect. Consider this carefully if this
# salt master is managing a large number of minions.
#
# If disabled, it is recommended to handle this event by listening for the
# If disabled, it is recommended to handle this event by listening for the
# 'aes_key_rotate' event with the 'key' tag and acting appropriately.
# ping_on_rotate: False
# By default, the master deletes its cache of minion data when the key for that
# minion is removed. To preserve the cache after key deletion, set
# minion is removed. To preserve the cache after key deletion, set
# 'preserve_minion_cache' to True.
#
# WARNING: This may have security implications if compromised minions auth with
# a previous deleted minion ID.
#preserve_minion_cache: False
# Allow or deny minions from requesting their own key revocation
#allow_minion_key_revoke: True
# If max_minions is used in large installations, the master might experience
# high-load situations because of having to check the number of connected
# minions for every authentication. This cache provides the minion-ids of
@ -215,6 +225,70 @@
# - /etc/salt/extra_config
##### Large-scale tuning settings #####
##########################################
# Max open files
#
# Each minion connecting to the master uses AT LEAST one file descriptor, the
# master subscription connection. If enough minions connect you might start
# seeing on the console (and then salt-master crashes):
# Too many open files (tcp_listener.cpp:335)
# Aborted (core dumped)
#
# By default this value will be the one of `ulimit -Hn`, ie, the hard limit for
# max open files.
#
# If you wish to set a different value than the default one, uncomment and
# configure this setting. Remember that this value CANNOT be higher than the
# hard limit. Raising the hard limit depends on your OS and/or distribution,
# a good way to find the limit is to search the internet. For example:
# raise max open files hard limit debian
#
#max_open_files: 100000
# The number of worker threads to start. These threads are used to manage
# return calls made from minions to the master. If the master seems to be
# running slowly, increase the number of threads. This setting can not be
# set lower than 3.
#worker_threads: 5
# Set the ZeroMQ high water marks
# http://api.zeromq.org/3-2:zmq-setsockopt
# The listen queue size / backlog
#zmq_backlog: 1000
# The publisher interface ZeroMQPubServerChannel
#pub_hwm: 1000
# These two ZMQ HWM settings, salt_event_pub_hwm and event_publisher_pub_hwm
# are significant for masters with thousands of minions. When these are
# insufficiently high it will manifest in random responses missing in the CLI
# and even missing from the job cache. Masters that have fast CPUs and many
# cores with appropriate worker_threads will not need these set as high.
# On deployment with 8,000 minions, 2.4GHz CPUs, 24 cores, 32GiB memory has
# these settings:
#
# salt_event_pub_hwm: 128000
# event_publisher_pub_hwm: 64000
# ZMQ high-water-mark for SaltEvent pub socket
#salt_event_pub_hwm: 20000
# ZMQ high-water-mark for EventPublisher pub socket
#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.
# ipc_write_buffer: 'dynamic'
##### Security settings #####
##########################################
# Enable "open mode", this mode still maintains encryption, but turns off
@ -227,7 +301,10 @@
# public keys from the minions. Note that this is insecure.
#auto_accept: False
# Time in minutes that a incoming public key with a matching name found in
# The size of key that should be generated when creating new keys.
#keysize: 2048
# 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
@ -255,7 +332,7 @@
# This setting should be treated with care since it opens up execution
# capabilities to non root users. By default this capability is completely
# disabled.
#client_acl:
#publisher_acl:
# larry:
# - test.ping
# - network.*
@ -266,15 +343,24 @@
# running any commands. It would also blacklist any use of the "cmd"
# module. This is completely disabled by default.
#
#client_acl_blacklist:
#
# Check the list of configured users in client ACL against users on the
# system and throw errors if they do not exist.
#client_acl_verify: True
#
#publisher_acl_blacklist:
# users:
# - root
# - '^(?!sudo_).*$' # all non sudo users
# modules:
# - cmd
#
# 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 client_acl & client_acl_blacklist when users have sudo
# access to the salt command.
# Enforce publisher_acl & publisher_acl_blacklist when users have sudo
# access to the salt command.
#
#sudo_acl: False
@ -287,6 +373,18 @@
#
# Time (in seconds) for a newly generated token to live. Default: 12 hours
#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.
@ -311,18 +409,92 @@
# will cause minion to throw an exception and drop the message.
# sign_pub_messages: False
# Signature verification on messages published from minions
# This requires that minions cryptographically sign the messages they
# publish to the master. If minions are not signing, then log this information
# at loglevel 'INFO' and drop the message without acting on it.
# require_minion_sign_messages: False
# The below will drop messages when their signatures do not validate.
# Note that when this option is False but `require_minion_sign_messages` is True
# minions MUST sign their messages but the validity of their signatures
# is ignored.
# These two config options exist so a Salt infrastructure can be moved
# to signing minion messages gradually.
# drop_messages_signature_fail: 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
##### Salt-SSH Configuration #####
##########################################
# Pass in an alternative location for the salt-ssh roster file
#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.
#
#rosters:
# - /etc/salt/roster.d
# - /opt/salt/some/more/rosters
# The ssh password to log in with.
#ssh_passwd: ''
#The target system's ssh port number.
#ssh_port: 22
# Comma-separated list of ports to scan.
#ssh_scan_ports: 22
# Scanning socket timeout for salt-ssh.
#ssh_scan_timeout: 0.01
# Boolean to run command via sudo.
#ssh_sudo: False
# Number of seconds to wait for a response when establishing an SSH connection.
#ssh_timeout: 60
# The user to log in as.
#ssh_user: root
# The log file of the salt-ssh command:
#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`)
#ssh_minion_opts:
# gpg_keydir: /root/gpg
# Set this to True to default to using ~/.ssh/id_rsa for salt-ssh
# authentication with minions
#ssh_use_home_key: False
# Set this to True to default salt-ssh to run with ``-o IdentitiesOnly=yes``.
# This option is intended for situations where the ssh-agent offers many
# different identities and allows ssh to ignore those identities and use the
# only one specified in options.
#ssh_identities_only: False
# List-only nodegroups for salt-ssh. Each group must be formed as either a
# comma-separated list, or a YAML list. This option is useful to group minions
# into easy-to-target groups when using salt-ssh. These groups can then be
# targeted with the normal -N argument to salt-ssh.
#ssh_list_nodegroups: {}
##### Master Module Management #####
##########################################
# Manage how master side modules are loaded.
@ -391,6 +563,11 @@
# If set to 'changes', the output will be full unless the state didn't change.
#state_output: full
# The state_output_diff setting changes whether or not the output from
# successful states is returned. Useful when even the terse output of these
# states is cluttering the logs. Set it to True to ignore them.
#state_output_diff: False
# Automatically aggregate all states that have support for mod_aggregate by
# setting to 'True'. Or pass a list of state module names to automatically
# aggregate just those types.
@ -429,14 +606,38 @@
#file_roots:
# base:
# - /srv/salt
#
# The master_roots setting configures a master-only copy of the file_roots dictionary,
# used by the state compiler.
#master_roots: /srv/salt-master
# When using multiple environments, each with their own top file, the
# default behaviour is an unordered merge. To prevent top files from
# being merged together and instead to only use the top file from the
# requested environment, set this value to 'same'.
#top_file_merging_strategy: merge
# To specify the order in which environments are merged, set the ordering
# in the env_order option. Given a conflict, the last matching value will
# win.
#env_order: ['base', 'dev', 'prod']
# If top_file_merging_strategy is set to 'same' and an environment does not
# contain a top file, the top file in the environment specified by default_top
# will be used instead.
#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
# and sha512 are also supported.
# the master server. The default is sha256, but md5, sha1, sha224, sha384 and
# sha512 are also supported.
#
# Prior to changing this value, the master should be stopped and all Salt
# WARNING: While md5 and sha1 are also supported, do not use them 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.
#hash_type: md5
#hash_type: sha256
# The buffer size in the file server can be adjusted here:
#file_buffer_size: 1048576
@ -502,10 +703,37 @@
# Git File Server Backend Configuration
#
# Gitfs can be provided by one of two python modules: GitPython or pygit2. If
# using pygit2, both libgit2 and git must also be installed.
#gitfs_provider: gitpython
#
# Optional parameter used to specify the provider to be used for gitfs. Must
# be one of the following: pygit2, gitpython, or dulwich. If unset, then each
# will be tried in that same order, and the first one with a compatible
# version installed will be the provider that is used.
#gitfs_provider: pygit2
# Along with gitfs_password, is used to authenticate to HTTPS remotes.
# gitfs_user: ''
# Along with gitfs_user, is used to authenticate to HTTPS remotes.
# This parameter is not required if the repository does not use authentication.
#gitfs_password: ''
# By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
# This parameter enables authentication over HTTP. Enable this at your own risk.
#gitfs_insecure_auth: False
# Along with gitfs_privkey (and optionally gitfs_passphrase), is used to
# authenticate to SSH remotes. This parameter (or its per-remote counterpart)
# is required for SSH remotes.
#gitfs_pubkey: ''
# Along with gitfs_pubkey (and optionally gitfs_passphrase), is used to
# authenticate to SSH remotes. This parameter (or its per-remote counterpart)
# is required for SSH remotes.
#gitfs_privkey: ''
# This parameter is optional, required only when the SSH key being used to
# authenticate is protected by a passphrase.
#gitfs_passphrase: ''
# When using the git fileserver backend at least one git remote needs to be
# defined. The user running the salt master will need read access to the repo.
#
@ -513,7 +741,7 @@
# 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.
#gitfs_remotes:
# - git://github.com/saltstack/salt-states.git
@ -552,6 +780,11 @@
# ext_pillar.
#ext_pillar_first: False
# The external pillars permitted to be used on-demand using pillar.ext
#on_demand_ext_pillar:
# - libvirt
# - virtkey
# 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
@ -572,22 +805,142 @@
#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.
#pillar_source_merging_strategy: smart
# Recursively merge lists by aggregating them instead of replacing them.
#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'.
#pillar_raise_on_missing: False
# Git External Pillar (git_pillar) Configuration Options
#
# Specify the provider to be used for git_pillar. Must be either pygit2 or
# gitpython. If unset, then both will be tried in that same order, and the
# first one with a compatible version installed will be the provider that
# is used.
#git_pillar_provider: pygit2
# If the desired branch matches this value, and the environment is omitted
# from the git_pillar configuration, then the environment for that git_pillar
# remote will be base.
#git_pillar_base: master
# If the branch is omitted from a git_pillar remote, then this branch will
# be used instead
#git_pillar_branch: master
# Environment to use for git_pillar remotes. This is normally derived from
# the branch/tag (or from a per-remote env parameter), but if set this will
# override the process of deriving the env from the branch/tag name.
#git_pillar_env: ''
# Path relative to the root of the repository where the git_pillar top file
# and SLS files are located.
#git_pillar_root: ''
# Specifies whether or not to ignore SSL certificate errors when contacting
# the remote repository.
#git_pillar_ssl_verify: False
# When set to False, if there is an update/checkout lock for a git_pillar
# remote and the pid written to it is not running on the master, the lock
# file will be automatically cleared and a new lock will be obtained.
#git_pillar_global_lock: True
# Git External Pillar Authentication Options
#
# Along with git_pillar_password, is used to authenticate to HTTPS remotes.
#git_pillar_user: ''
# Along with git_pillar_user, is used to authenticate to HTTPS remotes.
# This parameter is not required if the repository does not use authentication.
#git_pillar_password: ''
# By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
# This parameter enables authentication over HTTP.
#git_pillar_insecure_auth: False
# Along with git_pillar_privkey (and optionally git_pillar_passphrase),
# is used to authenticate to SSH remotes.
#git_pillar_pubkey: ''
# Along with git_pillar_pubkey (and optionally git_pillar_passphrase),
# is used to authenticate to SSH remotes.
#git_pillar_privkey: ''
# This parameter is optional, required only when the SSH key being used
# to authenticate is protected by a passphrase.
#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
#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.
#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.
#
#pillar_cache_backend: disk
###### Reactor Settings #####
###########################################
# Define a salt reactor. See https://docs.saltstack.com/en/latest/topics/reactor/
#reactor: []
#Set the TTL for the cache of the reactor configuration.
#reactor_refresh_interval: 60
#Configure the number of workers for the runner/wheel in the reactor.
#reactor_worker_threads: 10
#Define the queue size for workers in the reactor.
#reactor_worker_hwm: 10000
##### Syndic settings #####
##########################################
# The Salt syndic is used to pass commands through a master from a higher
# master. Using the syndic is simple, if this is a master that will have
# syndic servers(s) below it set the "order_masters" setting to True, if this
# is a master that will be running a syndic daemon for passthrough the
# "syndic_master" setting needs to be set to the location of the master server
# master. Using the syndic is simple. If this is a master that will have
# syndic servers(s) below it, then set the "order_masters" setting to True.
#
# If this is a master that will be running a syndic daemon for passthrough, then
# the "syndic_master" setting needs to be set to the location of the master server
# to receive commands from.
# Set the order_masters setting to True if this master will command lower
@ -596,7 +949,7 @@
# If this master will be running a salt syndic daemon, syndic_master tells
# this master where to receive commands from.
#syndic_master: masterofmaster
#syndic_master: masterofmasters
# This is the 'ret_port' of the MasterOfMaster:
#syndic_master_port: 4506
@ -604,8 +957,18 @@
# PID file of the syndic daemon:
#syndic_pidfile: /var/run/salt-syndic.pid
# LOG file of the syndic daemon:
#syndic_log_file: syndic.log
# The log file of the salt-syndic daemon:
#syndic_log_file: /var/log/salt/syndic
# 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.
#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.
#syndic_wait: 5
##### Peer Publish settings #####
@ -650,7 +1013,7 @@
#
#
##### Mine settings #####
##########################################
#####################################
# Restrict mine.get access from minions. By default any minion has a full access
# to get all mine data from master cache. In acl definion below, only pcre matches
# are allowed.
@ -696,15 +1059,29 @@
# If using 'log_granular_levels' this must be set to the highest desired level.
#log_level_logfile: warning
# The date and time format used in log messages. Allowed date/time formating
# The date and time format used in log messages. Allowed date/time formatting
# can be seen here: http://docs.python.org/library/time.html#time.strftime
#log_datefmt: '%H:%M:%S'
#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
# The format of the console logging messages. Allowed formatting options can
# be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
#
# Console log colors are specified by these additional formatters:
#
# %(colorlevel)s
# %(colorname)s
# %(colorprocess)s
# %(colormsg)s
#
# Since it is desirable to include the surrounding brackets, '[' and ']', in
# the coloring of the messages, these color formatters also include padding as
# well. Color LogRecord attributes are only available for console logging.
#
#log_fmt_console: '%(colorlevel)s %(colormsg)s'
#log_fmt_console: '[%(levelname)-8s] %(message)s'
#log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'
#
#log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
# This can be used to control logging levels more specificically. This
# example sets the main salt library at the 'warning' level, but sets
@ -716,13 +1093,20 @@
#log_granular_levels: {}
##### Node Groups #####
##### 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'
##### Range Cluster settings #####
@ -733,19 +1117,48 @@
#range_server: range:80
##### Windows Software Repo settings #####
##############################################
##### Windows Software Repo settings #####
###########################################
# Location of the repo on the master:
#win_repo: '/srv/salt/win/repo'
#
# Location of the master's repo cache file:
#win_repo_mastercachefile: '/srv/salt/win/repo/winrepo.p'
#winrepo_dir_ng: '/srv/salt/win/repo-ng'
#
# List of git repositories to include with the local repo:
#win_gitrepos:
#winrepo_remotes_ng:
# - 'https://github.com/saltstack/salt-winrepo-ng.git'
##### Windows Software Repo settings - Pre 2015.8 #####
########################################################
# Legacy repo settings for pre-2015.8 Windows minions.
#
# Location of the repo on the master:
#winrepo_dir: '/srv/salt/win/repo'
#
# Location of the master's repo cache file:
#winrepo_mastercachefile: '/srv/salt/win/repo/winrepo.p'
#
# List of git repositories to include with the local repo:
#winrepo_remotes:
# - 'https://github.com/saltstack/salt-winrepo.git'
##### Returner settings ######
############################################
# Which returner(s) will be used for minion's result:
#return: mysql
###### Miscellaneous settings ######
############################################
# Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
#event_match_type: startswith
# Save runner returns to the job cache
#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.
#thin_extra_mods: foo,bar

View file

@ -15,6 +15,12 @@
# resolved, then the minion will fail to start.
#master: salt
# Set http proxy information for the minion when doing requests
#proxy_host:
#proxy_port:
#proxy_username:
#proxy_password:
# If multiple masters are specified in the 'master' setting, the default behavior
# is to always try to connect to them in the order they are listed. If random_master is
# set to True, the order will be randomized instead. This can be helpful in distributing
@ -32,6 +38,8 @@
# 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
# master_type: str
# Poll interval in seconds for checking if the master is still there. Only
@ -40,6 +48,16 @@
# of TCP connections, such as load balancers.)
# 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.
#master_failback: 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.
#master_failback_interval: 0
# Set whether the minion should connect to the master via IPv6:
#ipv6: False
@ -54,11 +72,15 @@
# The user to run salt.
#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.
#sudo_user: saltdev
# 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.
#sudo_user: root
# Specify the location of the daemon process ID file.
#pidfile: /var/run/salt-minion.pid
@ -104,8 +126,16 @@
# cab_u: 14-15
#
# Where cache data goes.
# This data may contain sensitive data and should be protected accordingly.
#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
#append_minionid_config_dirs:
# Verify and set permissions on configuration directories at startup.
#verify_env: True
@ -121,7 +151,11 @@
# Set the default outputter used by the salt-call command. The default is
# "nested".
#output: nested
#
# To set a list of additional directories to search for salt outputters, set the
# outputter_dirs option.
#outputter_dirs: []
# By default output is colored. To disable colored output, set the color value
# to False.
#color: True
@ -163,6 +197,15 @@
# The wait-time will be a random number of seconds between 0 and the defined value.
#random_reauth_delay: 60
# To avoid overloading a master when many minions startup at once, a randomized
# delay may be set to tell the minions to wait before connecting to the master.
# This value is the number of seconds to choose from for a random number. For
# example, setting this value to 60 will choose a random number of seconds to delay
# on startup between zero seconds and sixty seconds. Setting to '0' will disable
# this feature.
#random_startup_delay: 0
# When waiting for a master to accept the minion's public key, salt will
# continuously attempt to reconnect until successful. This is the timeout value,
# in seconds, for each individual attempt. After this timeout expires, the minion
@ -174,11 +217,25 @@
# authenticate.
#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).
#master_tries: 1
# If authentication fails due to SaltReqTimeoutError during a ping_interval,
# cause sub minion process to restart.
#auth_safemode: False
# Ping Master to ensure connection is alive (minutes).
# Ping Master to ensure connection is alive (seconds).
#ping_interval: 0
# To auto recover minions if master changes IP address (DDNS)
@ -252,10 +309,23 @@
#
#
# 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
#loop_interval: 60
# evaluating the scheduler and running cleanup tasks. This defaults to 1
# second on the minion scheduler.
#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.
#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``.
#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
@ -272,12 +342,40 @@
# Cache grains on the minion. Default is False.
#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.
#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.
# 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).
#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.
#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'
# The number of minutes between mine updates.
#mine_interval: 60
# Windows platforms lack posix IPC and must rely on slower TCP based inter-
# process communications. Set ipc_mode to 'tcp' on such systems
#ipc_mode: ipc
@ -321,10 +419,23 @@
##### Minion module management #####
##########################################
# Disable specific modules. This allows the admin to limit the level of
# access the master has to the minion.
#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: []
#
# 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
# 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
@ -370,9 +481,7 @@
# failure detected in the state execution. Defaults to False.
#failhard: False
#
# autoload_dynamic_modules turns on automatic loading of modules found in the
# environments on the master. This is turned on by default. To turn of
# autoloading modules when states run, set this value to False.
# Reload the modules prior to a highstate run.
#autoload_dynamic_modules: True
#
# clean_dynamic_modules keeps the dynamic modules on the minion in sync with
@ -387,6 +496,15 @@
# environments is to isolate via the top file.
#environment: None
#
# Isolates the pillar environment on the minion side. This functions the same
# as the environment setting, but for pillar instead of states.
#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'.
#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.
#state_top: top.sls
@ -466,13 +584,16 @@
# is False.
#fileserver_limit_traversal: False
# The hash_type is the hash to use when discovering the hash of a file in
# the local fileserver. The default is md5, but sha1, sha224, sha256, sha384
# The hash_type is the hash to use when discovering the hash of a file on
# the local fileserver. The default is sha256, but md5, sha1, sha224, sha384
# and sha512 are also supported.
#
# WARNING: While md5 and sha1 are also supported, do not use them 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.
#hash_type: md5
#hash_type: sha256
# The Salt pillar is searched for locally if file_client is set to local. If
# this is the case, and pillar data is defined, then the pillar_roots need to
@ -494,6 +615,9 @@
# you do so at your own risk!
#open_mode: False
# The size of key that should be generated when creating new keys.
#keysize: 2048
# Enable permissive access to the salt keys. This allows you to run the
# master or minion as root, but have a non-root group be given access to
# your pki_dir. To make the access explicit, root must belong to the group
@ -522,14 +646,42 @@
# Fingerprint of the master public key to validate the identity of your Salt master
# before the initial key exchange. The master fingerprint can be found by running
# "salt-key -F master" on the Salt master.
# "salt-key -f master.pub" on the Salt master.
#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
###### Reactor Settings #####
###########################################
# Define a salt reactor. See https://docs.saltstack.com/en/latest/topics/reactor/
#reactor: []
#Set the TTL for the cache of the reactor configuration.
#reactor_refresh_interval: 60
#Configure the number of workers for the runner/wheel in the reactor.
#reactor_worker_threads: 10
#Define the queue size for workers in the reactor.
#reactor_worker_hwm: 10000
###### 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.
#multiprocessing: True
@ -562,15 +714,29 @@
# Default: 'warning'
#log_level_logfile:
# The date and time format used in log messages. Allowed date/time formating
# The date and time format used in log messages. Allowed date/time formatting
# can be seen here: http://docs.python.org/library/time.html#time.strftime
#log_datefmt: '%H:%M:%S'
#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
# The format of the console logging messages. Allowed formatting options can
# be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
#
# Console log colors are specified by these additional formatters:
#
# %(colorlevel)s
# %(colorname)s
# %(colorprocess)s
# %(colormsg)s
#
# Since it is desirable to include the surrounding brackets, '[' and ']', in
# the coloring of the messages, these color formatters also include padding as
# well. Color LogRecord attributes are only available for console logging.
#
#log_fmt_console: '%(colorlevel)s %(colormsg)s'
#log_fmt_console: '[%(levelname)-8s] %(message)s'
#log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'
#
#log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
# This can be used to control logging levels more specificically. This
# example sets the main salt library at the 'warning' level, but sets
@ -582,7 +748,7 @@
#log_granular_levels: {}
# To diagnose issues with minions disconnecting or missing returns, ZeroMQ
# supports the use of monitor sockets # to log connection events. This
# supports the use of monitor sockets to log connection events. This
# feature requires ZeroMQ 4.0 or higher.
#
# To enable ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log at a
@ -594,12 +760,16 @@
# 'value': 27, 'description': 'EVENT_DISCONNECTED'}
#
# All events logged will include the string 'ZeroMQ event'. A connection event
# should be logged on the as the minion starts up and initially connects to the
# should be logged as the minion starts up and initially connects to the
# master. If not, check for debug log level and that the necessary version of
# ZeroMQ is installed.
#
#zmq_monitor: False
# Number of times to try to authenticate with the salt master when reconnecting
# to the master
#tcp_authentication_retries: 5
###### Module configuration #####
###########################################
# Salt allows for modules to be passed arbitrary configuration data, any data
@ -670,5 +840,19 @@
###### 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
###### Miscellaneous settings ######
############################################
# Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
#event_match_type: startswith

660
conf/proxy Normal file
View file

@ -0,0 +1,660 @@
##### Primary configuration settings #####
##########################################
# This configuration file is used to manage the behavior of all Salt Proxy
# Minions on this host.
# With the exception of the location of the Salt Master Server, values that are
# commented out but have an empty line after the comment are defaults that need
# not be set in the config. If there is no blank line after the comment, the
# value is presented as an example and is not the default.
# Per default the minion will automatically include all config files
# from minion.d/*.conf (minion.d is a directory in the same directory
# as the main minion config file).
#default_include: minion.d/*.conf
# Backwards compatibility option for proxymodules created before 2015.8.2
# This setting will default to 'False' in the 2016.3.0 release
# Setting this to True adds proxymodules to the __opts__ dictionary.
# This breaks several Salt features (basically anything that serializes
# __opts__ over the wire) but retains backwards compatibility.
#add_proxymodule_to_opts: True
# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
#master: salt
# If a proxymodule has a function called 'grains', then call it during
# regular grains loading and merge the results with the proxy's grains
# dictionary. Otherwise it is assumed that the module calls the grains
# function in a custom way and returns the data elsewhere
#
# Default to False for 2016.3 and 2016.11. Switch to True for Nitrogen.
# proxy_merge_grains_in_module: False
# If multiple masters are specified in the 'master' setting, the default behavior
# is to always try to connect to them in the order they are listed. If random_master is
# set to True, the order will be randomized instead. This can be helpful in distributing
# the load of many minions executing salt-call requests, for example, from a cron job.
# If only one master is listed, this setting is ignored and a warning will be logged.
#random_master: False
# Minions can connect to multiple masters simultaneously (all masters
# are "hot"), or can be configured to failover if a master becomes
# unavailable. Multiple hot masters are configured by setting this
# value to "str". Failover masters can be requested by setting
# to "failover". MAKE SURE TO SET master_alive_interval if you are
# using failover.
# master_type: str
# Poll interval in seconds for checking if the master is still there. Only
# respected if master_type above is "failover".
# master_alive_interval: 30
# Set whether the minion should connect to the master via IPv6:
#ipv6: False
# Set the number of seconds to wait before attempting to resolve
# the master hostname if name resolution fails. Defaults to 30 seconds.
# Set to zero if the minion should shutdown and not retry.
# retry_dns: 30
# Set the port used by the master reply and authentication server.
#master_port: 4506
# The user to run salt.
#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.
#sudo_user: saltdev
# Specify the location of the daemon process ID file.
#pidfile: /var/run/salt-minion.pid
# The root directory prepended to these options: pki_dir, cachedir, log_file,
# sock_dir, pidfile.
#root_dir: /
# The directory to store the pki information in
#pki_dir: /etc/salt/pki/minion
# Where cache data goes.
# This data may contain sensitive data and should be protected accordingly.
#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
# append_minionid_config_dirs:
# - cachedir
# Verify and set permissions on configuration directories at startup.
#verify_env: True
# The minion can locally cache the return data from jobs sent to it, this
# can be a good way to keep track of jobs the minion has executed
# (on the minion side). By default this feature is disabled, to enable, set
# cache_jobs to True.
#cache_jobs: False
# Set the directory used to hold unix sockets.
#sock_dir: /var/run/salt/minion
# Set the default outputter used by the salt-call command. The default is
# "nested".
#output: nested
#
# By default output is colored. To disable colored output, set the color value
# to False.
#color: True
# Do not strip off the colored output from nested results and state outputs
# (true by default).
# strip_colors: False
# Backup files that are replaced by file.managed and file.recurse under
# 'cachedir'/file_backups relative to their original location and appended
# with a timestamp. The only valid setting is "minion". Disabled by default.
#
# Alternatively this can be specified for each file in state files:
# /etc/ssh/sshd_config:
# file.managed:
# - source: salt://ssh/sshd_config
# - backup: minion
#
#backup_mode: minion
# When waiting for a master to accept the minion's public key, salt will
# continuously attempt to reconnect until successful. This is the time, in
# seconds, between those reconnection attempts.
#acceptance_wait_time: 10
# If this is nonzero, the time between reconnection attempts will increase by
# acceptance_wait_time seconds per iteration, up to this maximum. If this is
# set to zero, the time between reconnection attempts will stay constant.
#acceptance_wait_time_max: 0
# If the master rejects the minion's public key, retry instead of exiting.
# Rejected keys will be handled the same as waiting on acceptance.
#rejected_retry: False
# When the master key changes, the minion will try to re-auth itself to receive
# the new master key. In larger environments this can cause a SYN flood on the
# master because all minions try to re-auth immediately. To prevent this and
# have a minion wait for a random amount of time, use this optional parameter.
# The wait-time will be a random number of seconds between 0 and the defined value.
#random_reauth_delay: 60
# When waiting for a master to accept the minion's public key, salt will
# continuously attempt to reconnect until successful. This is the timeout value,
# in seconds, for each individual attempt. After this timeout expires, the minion
# will wait for acceptance_wait_time seconds before trying again. Unless your master
# is under unusually heavy load, this should be left at the default.
#auth_timeout: 60
# Number of consecutive SaltReqTimeoutError that are acceptable when trying to
# authenticate.
#auth_tries: 7
# If authentication fails due to SaltReqTimeoutError during a ping_interval,
# cause sub minion process to restart.
#auth_safemode: False
# Ping Master to ensure connection is alive (minutes).
#ping_interval: 0
# To auto recover minions if master changes IP address (DDNS)
# auth_tries: 10
# auth_safemode: False
# ping_interval: 90
#
# Minions won't know master is missing until a ping fails. After the ping fail,
# the minion will attempt authentication and likely fails out and cause a restart.
# When the minion restarts it will resolve the masters IP and attempt to reconnect.
# If you don't have any problems with syn-floods, don't bother with the
# three recon_* settings described below, just leave the defaults!
#
# The ZeroMQ pull-socket that binds to the masters publishing interface tries
# to reconnect immediately, if the socket is disconnected (for example if
# the master processes are restarted). In large setups this will have all
# minions reconnect immediately which might flood the master (the ZeroMQ-default
# is usually a 100ms delay). To prevent this, these three recon_* settings
# can be used.
# recon_default: the interval in milliseconds that the socket should wait before
# trying to reconnect to the master (1000ms = 1 second)
#
# recon_max: the maximum time a socket should wait. each interval the time to wait
# is calculated by doubling the previous time. if recon_max is reached,
# it starts again at recon_default. Short example:
#
# reconnect 1: the socket will wait 'recon_default' milliseconds
# reconnect 2: 'recon_default' * 2
# reconnect 3: ('recon_default' * 2) * 2
# reconnect 4: value from previous interval * 2
# reconnect 5: value from previous interval * 2
# reconnect x: if value >= recon_max, it starts again with recon_default
#
# recon_randomize: generate a random wait time on minion start. The wait time will
# be a random value between recon_default and recon_default +
# recon_max. Having all minions reconnect with the same recon_default
# and recon_max value kind of defeats the purpose of being able to
# change these settings. If all minions have the same values and your
# setup is quite large (several thousand minions), they will still
# flood the master. The desired behavior is to have timeframe within
# all minions try to reconnect.
#
# Example on how to use these settings. The goal: have all minions reconnect within a
# 60 second timeframe on a disconnect.
# recon_default: 1000
# recon_max: 59000
# recon_randomize: True
#
# Each minion will have a randomized reconnect value between 'recon_default'
# and 'recon_default + recon_max', which in this example means between 1000ms
# 60000ms (or between 1 and 60 seconds). The generated random-value will be
# doubled after each attempt to reconnect. Lets say the generated random
# value is 11 seconds (or 11000ms).
# reconnect 1: wait 11 seconds
# reconnect 2: wait 22 seconds
# reconnect 3: wait 33 seconds
# reconnect 4: wait 44 seconds
# reconnect 5: wait 55 seconds
# reconnect 6: wait time is bigger than 60 seconds (recon_default + recon_max)
# reconnect 7: wait 11 seconds
# reconnect 8: wait 22 seconds
# reconnect 9: wait 33 seconds
# reconnect x: etc.
#
# In a setup with ~6000 thousand hosts these settings would average the reconnects
# to about 100 per second and all hosts would be reconnected within 60 seconds.
# recon_default: 100
# recon_max: 5000
# 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
#loop_interval: 60
# 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
# of the new grains. This operation is moderately expensive, therefore
# care should be taken not to set this value too low.
#
# Note: This value is expressed in __minutes__!
#
# A value of 10 minutes is a reasonable default.
#
# If the value is set to zero, this check is disabled.
#grains_refresh_every: 1
# Cache grains on the minion. Default is False.
#grains_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.
# grains_cache_expiration: 300
# Windows platforms lack posix IPC and must rely on slower TCP based inter-
# process communications. Set ipc_mode to 'tcp' on such systems
#ipc_mode: ipc
# Overwrite the default tcp ports used by the minion when in tcp mode
#tcp_pub_port: 4510
#tcp_pull_port: 4511
# Passing very large events can cause the minion to consume large amounts of
# memory. This value tunes the maximum size of a message allowed onto the
# minion event bus. The value is expressed in bytes.
#max_event_size: 1048576
# To detect failed master(s) and fire events on connect/disconnect, set
# master_alive_interval to the number of seconds to poll the masters for
# connection events.
#
#master_alive_interval: 30
# The minion can include configuration from other files. To enable this,
# pass a list of paths to this option. The paths can be either relative or
# absolute; if relative, they are considered to be relative to the directory
# the main minion configuration file lives in (this file). Paths can make use
# of shell-style globbing. If no files are matched by a path passed to this
# option then the minion will log a warning message.
#
# Include a config file from some other path:
# include: /etc/salt/extra_config
#
# Include config from several files and directories:
#include:
# - /etc/salt/extra_config
# - /etc/roles/webserver
#
#
#
##### Minion module management #####
##########################################
# Disable specific modules. This allows the admin to limit the level of
# access the master has to the minion.
#disable_modules: [cmd,test]
#disable_returners: []
#
# 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
# returners. These paths must be fully qualified!
#module_dirs: []
#returner_dirs: []
#states_dirs: []
#render_dirs: []
#utils_dirs: []
#
# A module provider can be statically overwritten or extended for the minion
# via the providers option, in this case the default module will be
# overwritten by the specified module. In this example the pkg module will
# be provided by the yumpkg5 module instead of the system default.
#providers:
# pkg: yumpkg5
#
# Enable Cython modules searching and loading. (Default: False)
#cython_enable: False
#
# Specify a max size (in bytes) for modules on import. This feature is currently
# only supported on *nix operating systems and requires psutil.
# modules_max_memory: -1
##### State Management Settings #####
###########################################
# The state management system executes all of the state templates on the minion
# to enable more granular control of system state management. The type of
# template and serialization used for state management needs to be configured
# on the minion, the default renderer is yaml_jinja. This is a yaml file
# rendered from a jinja template, the available options are:
# yaml_jinja
# yaml_mako
# yaml_wempy
# json_jinja
# json_mako
# json_wempy
#
#renderer: yaml_jinja
#
# The failhard option tells the minions to stop immediately after the first
# failure detected in the state execution. Defaults to False.
#failhard: False
#
# Reload the modules prior to a highstate run.
#autoload_dynamic_modules: True
#
# clean_dynamic_modules keeps the dynamic modules on the minion in sync with
# the dynamic modules on the master, this means that if a dynamic module is
# not on the master it will be deleted from the minion. By default, this is
# enabled and can be disabled by changing this value to False.
#clean_dynamic_modules: True
#
# Normally, the minion is not isolated to any single environment on the master
# when running states, but the environment can be isolated on the minion side
# by statically setting it. Remember that the recommended way to manage
# environments is to isolate via the top file.
#environment: None
#
# If using the local file directory, then the state top file name needs to be
# defined, by default this is top.sls.
#state_top: top.sls
#
# Run states when the minion daemon starts. To enable, set startup_states to:
# 'highstate' -- Execute state.highstate
# 'sls' -- Read in the sls_list option and execute the named sls files
# 'top' -- Read top_file option and execute based on that file on the Master
#startup_states: ''
#
# List of states to run when the minion starts up if startup_states is 'sls':
#sls_list:
# - edit.vim
# - hyper
#
# Top file to execute if startup_states is 'top':
#top_file: ''
# Automatically aggregate all states that have support for mod_aggregate by
# setting to True. Or pass a list of state module names to automatically
# aggregate just those types.
#
# state_aggregate:
# - pkg
#
#state_aggregate: False
##### File Directory Settings #####
##########################################
# The Salt Minion can redirect all file server operations to a local directory,
# this allows for the same state tree that is on the master to be used if
# copied completely onto the minion. This is a literal copy of the settings on
# the master but used to reference a local directory on the minion.
# Set the file client. The client defaults to looking on the master server for
# files, but can be directed to look at the local file directory setting
# defined below by setting it to "local". Setting a local file_client runs the
# minion in masterless mode.
#file_client: remote
# The file directory works on environments passed to the minion, each environment
# can have multiple root directories, the subdirectories in the multiple file
# roots cannot match, otherwise the downloaded files will not be able to be
# reliably ensured. A base environment is required to house the top file.
# Example:
# file_roots:
# base:
# - /srv/salt/
# dev:
# - /srv/salt/dev/services
# - /srv/salt/dev/states
# prod:
# - /srv/salt/prod/services
# - /srv/salt/prod/states
#
#file_roots:
# base:
# - /srv/salt
# By default, the Salt fileserver recurses fully into all defined environments
# to attempt to find files. To limit this behavior so that the fileserver only
# traverses directories with SLS files and special Salt directories like _modules,
# enable the option below. This might be useful for installations where a file root
# has a very large number of files and performance is negatively impacted. Default
# is False.
#fileserver_limit_traversal: False
# The hash_type is the hash to use when discovering the hash of a file in
# the local fileserver. The default is sha256 but sha224, 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: While md5 is 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.
#hash_type: sha256
# The Salt pillar is searched for locally if file_client is set to local. If
# this is the case, and pillar data is defined, then the pillar_roots need to
# also be configured on the minion:
#pillar_roots:
# base:
# - /srv/pillar
#
#
###### Security settings #####
###########################################
# Enable "open mode", this mode still maintains encryption, but turns off
# authentication, this is only intended for highly secure environments or for
# the situation where your keys end up in a bad state. If you run in open mode
# you do so at your own risk!
#open_mode: False
# Enable permissive access to the salt keys. This allows you to run the
# master or minion as root, but have a non-root group be given access to
# your pki_dir. To make the access explicit, root must belong to the group
# you've given access to. This is potentially quite insecure.
#permissive_pki_access: False
# The state_verbose and state_output settings can be used to change the way
# state system data is printed to the display. By default all data is printed.
# The state_verbose setting can be set to True or False, when set to False
# all data that has a result of True and no changes will be suppressed.
#state_verbose: True
# The state_output setting changes if the output is the full multi line
# output for each changed state if set to 'full', but if set to 'terse'
# the output will be shortened to a single line.
#state_output: full
# The state_output_diff setting changes whether or not the output from
# successful states is returned. Useful when even the terse output of these
# states is cluttering the logs. Set it to True to ignore them.
#state_output_diff: False
# The state_output_profile setting changes whether profile information
# will be shown for each state run.
#state_output_profile: True
# Fingerprint of the master public key to validate the identity of your Salt master
# before the initial key exchange. The master fingerprint can be found by running
# "salt-key -F master" on the Salt master.
#master_finger: ''
###### Thread settings #####
###########################################
# Disable multiprocessing support, by default when a minion receives a
# publication a new process is spawned and the command is executed therein.
#multiprocessing: True
##### Logging settings #####
##########################################
# The location of the minion log file
# The minion log can be sent to a regular file, local path name, or network
# location. Remote logging works best when configured to use rsyslogd(8) (e.g.:
# ``file:///dev/log``), with rsyslogd(8) configured for network logging. The URI
# format is: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
#log_file: /var/log/salt/minion
#log_file: file:///dev/log
#log_file: udp://loghost:10514
#
#log_file: /var/log/salt/minion
#key_logfile: /var/log/salt/key
# The level of messages to send to the console.
# One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
#
# The following log levels are considered INSECURE and may log sensitive data:
# ['garbage', 'trace', 'debug']
#
# Default: 'warning'
#log_level: warning
# The level of messages to send to the log file.
# One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
# If using 'log_granular_levels' this must be set to the highest desired level.
# Default: 'warning'
#log_level_logfile:
# The date and time format used in log messages. Allowed date/time formatting
# can be seen here: http://docs.python.org/library/time.html#time.strftime
#log_datefmt: '%H:%M:%S'
#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
# The format of the console logging messages. Allowed formatting options can
# be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
#
# Console log colors are specified by these additional formatters:
#
# %(colorlevel)s
# %(colorname)s
# %(colorprocess)s
# %(colormsg)s
#
# Since it is desirable to include the surrounding brackets, '[' and ']', in
# the coloring of the messages, these color formatters also include padding as
# well. Color LogRecord attributes are only available for console logging.
#
#log_fmt_console: '%(colorlevel)s %(colormsg)s'
#log_fmt_console: '[%(levelname)-8s] %(message)s'
#
#log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
# This can be used to control logging levels more specificically. This
# example sets the main salt library at the 'warning' level, but sets
# 'salt.modules' to log at the 'debug' level:
# log_granular_levels:
# 'salt': 'warning'
# 'salt.modules': 'debug'
#
#log_granular_levels: {}
# To diagnose issues with minions disconnecting or missing returns, ZeroMQ
# supports the use of monitor sockets # to log connection events. This
# feature requires ZeroMQ 4.0 or higher.
#
# To enable ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log at a
# debug level or higher.
#
# A sample log event is as follows:
#
# [DEBUG ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
# 'value': 27, 'description': 'EVENT_DISCONNECTED'}
#
# All events logged will include the string 'ZeroMQ event'. A connection event
# should be logged on the as the minion starts up and initially connects to the
# master. If not, check for debug log level and that the necessary version of
# ZeroMQ is installed.
#
#zmq_monitor: False
###### Module configuration #####
###########################################
# Salt allows for modules to be passed arbitrary configuration data, any data
# passed here in valid yaml format will be passed on to the salt minion modules
# for use. It is STRONGLY recommended that a naming convention be used in which
# the module name is followed by a . and then the value. Also, all top level
# data must be applied via the yaml dict construct, some examples:
#
# You can specify that all modules should run in test mode:
#test: True
#
# A simple value for the test module:
#test.foo: foo
#
# A list for the test module:
#test.bar: [baz,quo]
#
# A dict for the test module:
#test.baz: {spam: sausage, cheese: bread}
#
#
###### Update settings ######
###########################################
# Using the features in Esky, a salt minion can both run as a frozen app and
# be updated on the fly. These options control how the update process
# (saltutil.update()) behaves.
#
# The url for finding and downloading updates. Disabled by default.
#update_url: False
#
# The list of services to restart after a successful update. Empty by default.
#update_restart_services: []
###### Keepalive settings ######
############################################
# ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
# the OS. If connections between the minion and the master pass through
# a state tracking device such as a firewall or VPN gateway, there is
# the risk that it could tear down the connection the master and minion
# without informing either party that their connection has been taken away.
# Enabling TCP Keepalives prevents this from happening.
# Overall state of TCP Keepalives, enable (1 or True), disable (0 or False)
# or leave to the OS defaults (-1), on Linux, typically disabled. Default True, enabled.
#tcp_keepalive: True
# How long before the first keepalive should be sent in seconds. Default 300
# to send the first keepalive after 5 minutes, OS default (-1) is typically 7200 seconds
# on Linux see /proc/sys/net/ipv4/tcp_keepalive_time.
#tcp_keepalive_idle: 300
# How many lost probes are needed to consider the connection lost. Default -1
# to use OS defaults, typically 9 on Linux, see /proc/sys/net/ipv4/tcp_keepalive_probes.
#tcp_keepalive_cnt: -1
# How often, in seconds, to send keepalives after the first one. Default -1 to
# use OS defaults, typically 75 seconds on Linux, see
# /proc/sys/net/ipv4/tcp_keepalive_intvl.
#tcp_keepalive_intvl: -1
###### Windows Software settings ######
############################################
# Location of the repository cache file on the master:
#win_repo_cachefile: 'salt://win/repo/winrepo.p'
###### Returner settings ######
############################################
# Which returner(s) will be used for minion's result:
#return: mysql

295
debian/changelog vendored
View file

@ -1,295 +0,0 @@
salt (2015.5-1) unstable; urgency=low
* Bump to 2015.5
-- Manuel Torrinha <mtorrinha86@gmail.com> Thu, 30 Jul 2015 18:31:00 -0000
salt (2014.7.1-1) unstable; urgency=low
* Bump to 2014.7.1
-- Manuel Torrinha <mtorrinha86@gmail.com> Thu, 11 May 2015 15:54:00 -0000
salt (2014.1.0-1) unstable; urgency=low
* New upstream version
-- Bret Palsson <bretep@gmail.com> Thu, 20 Mar 2014 14:00:54 -0700
salt (0.17.0-1) unstable; urgency=low
* New upstream version
-- Joe Healy <joehealy@gmail.com> Mon, 07 Oct 2013 20:48:54 +1100
salt (0.16.0-1) unstable; urgency=low
* New upstream version
-- Corey Quinn <corey@sequestered.net> Mon, 01 Jul 2013 08:39:24 -0700
salt (0.15.3-1) unstable; urgency=low
* New upstream version
-- Corey Quinn <corey@sequestered.net> Sat, 01 Jun 2013 16:34:12 -0700
salt (0.15.2-1) unstable; urgency=low
* New upstream version
-- Corey Quinn <corey@sequestered.net> Wed, 29 May 2013 06:55:32 -0700
salt (0.15.1-1) unstable; urgency=low
* New upstream version
-- Corey Quinn <corey@sequestered.net> Thu, 09 May 2013 11:08:04 -0700
salt (0.15.0-1) unstable; urgency=low
* New upstream version
-- Corey Quinn <corey@sequestered.net> Mon, 06 May 2013 05:58:07 -0700
salt (0.14.1-1) unstable; urgency=low
* new version
-- Will Platnick <wplatnick@gmail.com> Wed, 17 Apr 2013 20:10:10 -0700
salt (0.14.0-1) unstable; urgency=low
* new version
-- Sean Channel <pentabular@gmail.com> Fri, 22 Mar 2013 20:10:10 -0700
salt (0.13.3-1) unstable; urgency=low
* patch release for ipv6 issues
-- Sean Channel <pentabular@gmail.com> Mon, 18 Mar 2013 16:19:04 -0700
salt (0.13.2-1) unstable; urgency=low
* bugfix release
-- Sean Channel <pentabular@gmail.com> Tue, 12 Mar 2013 14:26:25 -0700
salt (0.13.1-3) unstable; urgency=low
* pre-depend on salt-common
-- Sean Channel <pentabular@gmail.com> Sat, 23 Feb 2013 12:15:49 -0800
salt (0.13.1) unstable; urgency=low
* bugfix release
-- Sean Channel <pentabular@gmail.com> Sat, 16 Feb 2013 12:02:54 -0800
salt (0.13.0) unstable; urgency=low
* new release
-- Sean Channel <pentabular@gmail.com> Sat, 9 Feb 2013 14:04:30 -0800
salt (0.12.1) unstable; urgency=low
* bugfix release
-- Sean Channel <pentabular@gmail.com> Tue, 22 Jan 2013 08:35:36 -0800
salt (0.12.0) unstable; urgency=low
* new Salt release
-- Sean Channel <pentabular@gmail.com> Sun, 13 Jan 2013 11:01:56 -0700
salt (0.11.1) unstable; urgency=low
* new Salt release
-- Sean Channel <pentabular@gmail.com> Wed, 19 Dec 2012 23:27:14 -0700
salt (0.11.0) unstable; urgency=low
* add bash_completion and ufw support files
* use shared package support files in pkg/
-- Sean Channel <pentabular@gmail.com> Fri, 14 Dec 2012 10:52:35 -0700
salt (0.10.5-1) unstable; urgency=low
* [f735ab9] Filter pyc files
* [62462dd] New upstream version 0.10.5 (Closes: #690481)
* [9726d8b] Install empty include dirs for salt-master and salt-minion.
* [8705c6e] Build-depend on msgpack-python
* [6832d36] Update config file templates
-- Ulrich Dangel <uli@debian.org> Mon, 19 Nov 2012 08:34:09 +0000
salt (0.10.5) unstable; urgency=low
* new release
* update for new run-time paths [f7eb703]
* split up logrotate [75f1549]
* remove upstart [51895d6]
-- Sean Channel <pentabular@gmail.com> Thu, 15 Nov 2012 23:51:50 -0700
salt (0.10.4-2) unstable; urgency=low
* zmq3 support: b84f593770 86af5f03c3 c933c9e4ff a7e1d58f87 a5cdd8e313 c10bf6702f 2ea8b7e061 75f2a58b4e
* HTML doc package: 7f673796e6 422244cd84 d13dbf0fc2 cfc44ee517 8c5675fb88
* only run postrm on salt-common purge 5aa00b6bdd, bd2818797c
* switch to debian init scripts 6db36a8307
* add logrotate support cb9863e264
* add systemd support 6f8a728b9d, 502434bccc
* add dmidecode+pciutils to recommends 06dab92c56
* misc & dependencies cleanup: 8f8d16c07c 7245c80bca bd68bf7a84
-- Sean Channel <pentabular@gmail.com> Wed, 14 Nov 2012 10:56:16 -0700
salt (0.10.4-1) unstable; urgency=low
* [5431ef2] Imported Upstream version 0.10.4
* [bcd48a0] Remove patch 'add_hacking_rst', applied upstream.
* [3135d52] Fix salt-master restart (Patch by martin f. krafft)
(Closes: #692064)
* [15abbbb] Recommend lsb-release. With new upstream code this
provides lsb* grains. (Closes: #690700)
-- Christian Hofstaedtler <christian@hofstaedtler.name> Sat, 10 Nov 2012 17:57:52 +0100
salt (0.10.4-1precise1) precise; urgency=low
* New upstream version
-- Tom Vaughan <thomas.david.vaughan@gmail.com> Wed, 24 Oct 2012 10:53:56 -0300
salt (0.10.3) precise; urgency=low
* New upstream version
-- Tom Vaughan <thomas.david.vaughan@gmail.com> Sun, 30 Aug 2012 13:34:10 -0700
salt (0.10.2-1~experimental+1) experimental; urgency=low
* [cf57587] Import upstream version 0.10.2
* [1ff7a9f] Add patch to create HACKING.rst
-- Ulrich Dangel <uli@debian.org> Sat, 04 Aug 2012 02:57:52 +0200
salt (0.10.2) precise; urgency=low
* Non-maintainer upload.
* New upstream version
-- Dave Rawks <drawks@pandora.org> Wed, 01 Aug 2012 13:34:10 -0700
salt (0.10.1-3) unstable; urgency=low
* [efbd4a8] Change uploaders email address for Ulrich Dangel
* [442ead1] Recommends dmidecode instead of Depend to support non-x86 systems.
-- Ulrich Dangel <uli@debian.org> Mon, 30 Jul 2012 12:40:53 +0200
salt (0.10.1-2) unstable; urgency=low
* [bda6011] Add dmidecode to depends for salt-minion. (Closes: #680410)
* [ad4786e] Depend on the same salt version
* [671c2c3] Depend on debhelper version fixing #577040
-- Ulrich Dangel <uli@debian.org> Mon, 09 Jul 2012 23:15:27 +0200
salt (0.10.1-1) unstable; urgency=low
[ Ulrich Dangel ]
* [f1d627c] Always recreate orig.tar.gz with git-buildpackage
[ Michael Prokop ]
* Merge new upstream release
* [ee1806a] Add python-augeas to suggests of salt-minion
-- Michael Prokop <mika@debian.org> Fri, 22 Jun 2012 18:56:02 +0200
salt (0.10.0-1) unstable; urgency=low
[ Ulrich Dangel ]
* Merge new upstream release
* [bd10385] Change debian/source/format to quilt
* [ba60137] Add ignore options
* [54e70de] Copy service files from rpm package
* [1d21548] Update install files
* [c2737c9] Update pyversions file to use 2.6
* [573b27a] Update salt-common.install to install complete python
package
* [9b739f5] Update debian/rules to use python support and update
build dependencies
* [bf51e1c] Provide pydists-overrides for msgpack-python
* [4bbd2bf] Add dependency to python-pkg-resources for
salt-{minion,master,syndic}
* [ad8f712] Update config files to latest version
[ Jeroen Dekkers ]
* [9ae1aa5] Unapply patches from source
* [933c1ee] Add debian/gbp.conf
* [be9529b] Add >= 1.0 to python-sphinx build-depend
-- Michael Prokop <mika@debian.org> Wed, 20 Jun 2012 22:39:40 +0200
salt (0.9.9-1) unstable; urgency=low
* Initial release. [Closes: #643789]
-- Michael Prokop <mika@debian.org> Thu, 14 Jun 2012 18:39:17 +0200
salt (0.9.9) precise; urgency=low
* New upstream version
-- Tom Vaughan <thomas.david.vaughan@gmail.com> Tue, 01 May 2012 19:11:23 -0400
salt (0.9.8-1) unstable; urgency=low
* Initial upload to Debian unstable
-- Corey Quinn <corey@sequestered.net> Wed, 21 Mar 2012 19:45:05 +0000
salt (0.9.8-0ppa1ubuntu1) lucid; urgency=low
* New upstream version
-- Corey Quinn <corey@sequestered.net> Wed, 21 Mar 2012 18:24:57 +0000
salt (0.9.7.1-0ppa1ubuntu2) lucid; urgency=low
* Fixed and pushed 0.9.7 package
-- Corey Quinn <corey@sequestered.net> Mon, 12 Mar 2012 12:28:41 -0700
salt (0.9.7~pre2-0ppa1) lucid; urgency=low
* Fix arch and deps issue
-- Corey Quinn <corey@sequestered.net> Wed, 08 Feb 2012 17:22:47 -0800
salt (0.9.7~pre1-0ppa1) lucid; urgency=low
* Version bump, fixed a few issues
-- Corey Quinn <corey@sequestered.net> Wed, 08 Feb 2012 16:35:59 -0800
salt (0.9.6-1) lucid; urgency=low
* Bump version; time to upgrade
-- Corey Quinn <corey@sequestered.net> Tue, 07 Feb 2012 18:15:20 -0800
salt (0.9.5-1) unstable; urgency=low
* First package release. (Closes: #643789)
-- Corey Quinn <corey@sequestered.net> Mon, 26 Dec 2011 13:55:22 -0800

1
debian/compat vendored
View file

@ -1 +0,0 @@
7

206
debian/control vendored
View file

@ -1,206 +0,0 @@
Source: salt
Section: admin
Priority: optional
Maintainer: Bret Palsson <bretep@gmail.com>
Build-Depends: debhelper (>= 7.0.50),
cython,
python | python-all | python-dev | python-all-dev,
python-crypto,
python-jinja2,
python-m2crypto,
python-setuptools,
python-sphinx,
python-yaml,
python-zmq,
msgpack-python
Standards-Version: 3.9.3
Homepage: http://saltstack.org
XS-Python-Version: >= 2.6, <= 2.7
Package: salt-common
Architecture: all
Depends: ${python:Depends}, ${misc:Depends}, ${shlibs:Depends},
python, python-support, python-pkg-resources,
python-crypto,
python-jinja2,
python-m2crypto,
python-yaml,
python-zmq,
dctrl-tools,
msgpack-python
Recommends: dmidecode, pciutils
Description: Shared libraries that salt requires for all packages
This package is a powerful remote execution manager that can be used
to administer servers in a fast and efficient way.
.
It allows commands to be executed across large groups of servers. This
means systems can be easily managed, but data can also be easily gathered.
Quick introspection into running systems becomes a reality.
.
Remote execution is usually used to set up a certain state on a remote
system. Salt addresses this problem as well, the salt state system uses
salt state files to define the state a server needs to be in.
.
Between the remote execution system, and state management Salt addresses
the backbone of cloud and data center management.
.
This particular package provides shared libraries that salt-master,
salt-minion, and salt-syndic require to function.
Package: salt-master
Architecture: all
Depends: ${misc:Depends}, python, python-support, python-pkg-resources
Pre-Depends: salt-common (= ${source:Version})
Description: This package provides a remote manager to administer servers via salt
This package is a powerful remote execution manager that can be used
to administer servers in a fast and efficient way.
.
It allows commands to be executed across large groups of servers. This
means systems can be easily managed, but data can also be easily gathered.
Quick introspection into running systems becomes a reality.
.
Remote execution is usually used to set up a certain state on a remote
system. Salt addresses this problem as well, the salt state system uses
salt state files to define the state a server needs to be in.
.
Between the remote execution system, and state management Salt addresses
the backbone of cloud and data center management.
.
This particular package provides the salt controller.
Package: salt-minion
Architecture: all
Depends: ${misc:Depends}, python, python-support, python-pkg-resources,
Pre-Depends: salt-common (= ${source:Version})
Recommends: debconf-utils
Description: This package represents the client package for salt
This package is a powerful remote execution manager that can be used
to administer servers in a fast and efficient way.
.
It allows commands to be executed across large groups of servers. This
means systems can be easily managed, but data can also be easily gathered.
Quick introspection into running systems becomes a reality.
.
Remote execution is usually used to set up a certain state on a remote
system. Salt addresses this problem as well, the salt state system uses
salt state files to define the state a server needs to be in.
.
Between the remote execution system, and state management Salt addresses
the backbone of cloud and data center management.
.
This particular package provides the worker / agent for salt.
Package: salt-syndic
Architecture: all
Depends: ${misc:Depends}, python, python-support, python-pkg-resources,
salt-master (= ${source:Version})
Description: This package represents the master-of-masters for salt
This package is a powerful remote execution manager that can be used
to administer servers in a fast and efficient way.
.
It allows commands to be executed across large groups of servers. This
means systems can be easily managed, but data can also be easily gathered.
Quick introspection into running systems becomes a reality.
.
Remote execution is usually used to set up a certain state on a remote
system. Salt addresses this problem as well, the salt state system uses
salt state files to define the state a server needs to be in.
.
Between the remote execution system, and state management Salt addresses
the backbone of cloud and data center management.
.
This particular package provides the master of masters for salt-- it enables
the management of multiple masters at a time..
Package: salt-ssh
Architecture: all
Depends: ${misc:Depends},
${python:Depends},
salt-common (= ${source:Version}),
sshpass
Description: remote manager to administer servers via salt
salt is a powerful remote execution manager that can be used to
administer servers in a fast and efficient way.
.
It allows commands to be executed across large groups of
servers. This means systems can be easily managed, but data can
also be easily gathered. Quick introspection into running
systems becomes a reality.
.
Remote execution is usually used to set up a certain state on a
remote system. Salt addresses this problem as well, the salt
state system uses salt state files to define the state a server
needs to be in.
.
Between the remote execution system, and state management Salt
addresses the backbone of cloud and data center management.
.
This particular package provides the salt ssh controller. It
is able to run salt modules and states on remote hosts via ssh.
No minion or other salt specific software needs to be installed
on the remote host.
Package: salt-cloud
Architecture: all
Depends: ${python:Depends}, ${misc:Depends}, ${shlibs:Depends},
salt-common (= ${source:Version}),
sshpass
Suggests: python-botocore
Recommends: python-netaddr
Description: public cloud VM management system
provision virtual machines on various public clouds via a cleanly
controlled profile and mapping system.
Package: salt-api
Architecture: all
Depends: ${python:Depends},
${misc:Depends},
${shlibs:Depends},
python,
salt-master
Recommends: python-cherrypy3
Description: Generic, modular network access system
a modular interface on top of Salt that can provide a variety of entry points
into a running Salt system. It can start and manage multiple interfaces
allowing a REST API to coexist with XMLRPC or even a Websocket API.
.
The Salt API system is used to expose the fundamental aspects of Salt control
to external sources. salt-api acts as the bridge between Salt itself and
REST, Websockets, etc.
.
Documentation is available on Read the Docs:
.
http://salt-api.readthedocs.org/
Package: salt-doc
Architecture: all
Section: doc
Depends: ${misc:Depends}
Recommends: libjs-sphinxdoc
Description: additional documentation for salt, the distributed remote execution system
salt is a powerful remote execution manager that can be used to
administer servers in a fast and efficient way.
.
It allows commands to be executed across large groups of
servers. This means systems can be easily managed, but data can
also be easily gathered. Quick introspection into running
systems becomes a reality.
.
Remote execution is usually used to set up a certain state on a
remote system. Salt addresses this problem as well, the salt
state system uses salt state files to define the state a server
needs to be in.
.
Between the remote execution system, and state management Salt
addresses the backbone of cloud and data center management.
.
This particular package provides the HTML documentation for
salt.

46
debian/copyright vendored
View file

@ -1,46 +0,0 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: salt
Upstream-Contact: salt-users@googlegroups.com
Source: https://github.com/saltstack/salt
Files: *
Copyright: 2012-2014 Thomas S Hatch <thatch45@gmail.com>
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the full text of the Apache Licens, Version 2.0 can be
found in the file
`/usr/share/common-licenses/Apache-2.0'.
Files: debian/*
Copyright: 2012 Michael Prokop <mika@debian.org>
2012 Christian Hofstaedtler <christian@hofstaedtler.name>
2012 Ulrich Dangel <mru@spamt.net>
2012 Corey Quinn <corey@sequestered.net>
2011 Aaron Toponce <aaron.toponce@gmail.com>
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the full text of the Apache License, Version 2.0 can be
found in the file
`/usr/share/common-licenses/Apache-2.0'.

19
debian/rules vendored
View file

@ -1,19 +0,0 @@
#!/usr/bin/make -f
PKGFILES = pkg/*.service pkg/*.upstart pkg/*.logrotate
SALT_BIN = common minion master syndic
%:
make -C doc html
make -C doc man && cp -p doc/_build/man/* doc/man
cp $(PKGFILES) debian
for d in $(SALT_BIN); do \
cp pkg/salt.postrm debian/salt-$${d}.postrm; done
dh $@
dh_override_auto_build:
python setup.py build
override_dh_installdeb:
dh_installdeb
find . -type f -regex .*/usr/bin/.* -exec sed -i -e 's/^\(#!\/usr\/bin\/\)env \(python\)$$/\1\2/' {} \;

View file

@ -1 +0,0 @@
scripts/salt-api /usr/bin

View file

@ -1,2 +0,0 @@
doc/man/salt-api.1
#doc/man/salt-api.7

View file

@ -1,8 +0,0 @@
description "Salt API"
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [!2345]
exec salt-api

View file

@ -1,5 +0,0 @@
/etc/salt/cloud.conf.d/
/etc/salt/cloud.deploy.d/
/etc/salt/cloud.maps.d/
/etc/salt/cloud.profiles.d/
/etc/salt/cloud.providers.d/

View file

@ -1,5 +0,0 @@
conf/cloud /etc/salt
conf/* /usr/share/doc/salt-cloud/examples
salt/cloud/deploy/* /etc/salt/cloud.deploy.d
scripts/salt-cloud /usr/bin
usr/bin/salt-cloud

View file

@ -1 +0,0 @@
doc/man/salt-cloud.1

View file

@ -1,4 +0,0 @@
/etc/salt/
/etc/salt/pki/
/var/cache/salt/
/var/log/salt/

View file

@ -1,3 +0,0 @@
usr/lib/python2*/dist-packages/salt/
pkg/salt.ufw /etc/ufw/applications.d/
pkg/salt.bash /etc/bash_completion.d/

View file

@ -1,3 +0,0 @@
salt-common: manpage-has-errors-from-man usr/share/man/man7/salt.7.gz
# The man page renders correctly, no need for lintian to get upset about
# it.

View file

@ -1,23 +0,0 @@
/var/log/salt/master {
weekly
missingok
rotate 7
compress
notifempty
}
/var/log/salt/minion {
weekly
missingok
rotate 7
compress
notifempty
}
/var/log/salt/key {
weekly
missingok
rotate 7
compress
notifempty
}

View file

@ -1 +0,0 @@
doc/man/salt.7

View file

@ -1,55 +0,0 @@
#!/bin/sh -e
# Purge config files, logs, and directories created after package install.
# Note that user-specified alternate locations for these are not affected.
#
# rename to salt-'common|master|minion|syndic'.postrm and call with "purge"
clean_common() {
# remove shared job cache and other runtime directories
rm -rf \
/var/cache/salt \
/var/log/salt \
/var/run/salt \
2> /dev/null
}
clean_conf() {
# remove config and log file for master, minion, or syndic
rm -rf \
/etc/salt/pki/$1 \
/var/cache/salt/$1 \
/var/log/salt/$1 \
/var/run/salt/$1 \
2> /dev/null
}
purgefiles() {
case "$pkg" in
master|minion|syndic)
clean_conf $pkg ;;
common)
clean_common ;;
*)
echo "$0 unknown package \`$1'" 1>&2
exit 1 ;;
esac
}
pkg=`echo $0 | cut -f1 -d. | cut -f2 -d-`
case "$1" in
remove)
;;
purge)
purgefiles
;;
upgrade|failed-upgrade|disappear|abort-install|abort-upgrade)
;;
*)
echo "$0 unknown action \`$1'" 1>&2
exit 1 ;;
esac
# This tag is required:
#DEBHELPER#
exit 0

View file

@ -1,10 +0,0 @@
Document: salt-doc
Title: Welcome to Salt!
Author: Thomas S. Hatch
Abstract: This documention provides details about Salt.
Salt is a remote execution and configuration management tool.
Section: System/Administration
Format: HTML
Index: /usr/share/doc/salt/html/index.html
Files: /usr/share/doc/salt/html/*/*.html

View file

@ -1 +0,0 @@
doc/_build/html/* /usr/share/doc/salt/html/

View file

@ -1,3 +0,0 @@
/etc/salt/master.d/
/etc/salt/pki/master/
/var/cache/salt/master/

View file

@ -1,7 +0,0 @@
conf/master /etc/salt
scripts/salt-master /usr/bin
scripts/salt-cp /usr/bin
scripts/salt-run /usr/bin
scripts/salt-key /usr/bin
scripts/salt /usr/bin
debian/salt-master.service /lib/systemd/system

View file

@ -1,5 +0,0 @@
doc/man/salt.1
doc/man/salt-cp.1
doc/man/salt-key.1
doc/man/salt-master.1
doc/man/salt-run.1

View file

@ -1,55 +0,0 @@
#!/bin/sh -e
# Purge config files, logs, and directories created after package install.
# Note that user-specified alternate locations for these are not affected.
#
# rename to salt-'common|master|minion|syndic'.postrm and call with "purge"
clean_common() {
# remove shared job cache and other runtime directories
rm -rf \
/var/cache/salt \
/var/log/salt \
/var/run/salt \
2> /dev/null
}
clean_conf() {
# remove config and log file for master, minion, or syndic
rm -rf \
/etc/salt/pki/$1 \
/var/cache/salt/$1 \
/var/log/salt/$1 \
/var/run/salt/$1 \
2> /dev/null
}
purgefiles() {
case "$pkg" in
master|minion|syndic)
clean_conf $pkg ;;
common)
clean_common ;;
*)
echo "$0 unknown package \`$1'" 1>&2
exit 1 ;;
esac
}
pkg=`echo $0 | cut -f1 -d. | cut -f2 -d-`
case "$1" in
remove)
;;
purge)
purgefiles
;;
upgrade|failed-upgrade|disappear|abort-install|abort-upgrade)
;;
*)
echo "$0 unknown action \`$1'" 1>&2
exit 1 ;;
esac
# This tag is required:
#DEBHELPER#
exit 0

View file

@ -1,19 +0,0 @@
description "Salt Master"
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [!2345]
limit nofile 100000 100000
env CONFIG_DIR=/etc/salt
script
# Read configuration variable file if it is present
[ -f /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
# Activate the virtualenv if defined
[ -f $SALT_USE_VIRTUALENV/bin/activate ] && . $SALT_USE_VIRTUALENV/bin/activate
exec salt-master -c $CONFIG_DIR
end script

View file

@ -1,3 +0,0 @@
/etc/salt/minion.d/
/etc/salt/pki/minion/
/var/cache/salt/minion/

View file

@ -1,4 +0,0 @@
conf/minion /etc/salt
scripts/salt-minion /usr/bin
scripts/salt-call /usr/bin
debian/salt-minion.service /lib/systemd/system

View file

@ -1,2 +0,0 @@
doc/man/salt-call.1
doc/man/salt-minion.1

View file

@ -1,55 +0,0 @@
#!/bin/sh -e
# Purge config files, logs, and directories created after package install.
# Note that user-specified alternate locations for these are not affected.
#
# rename to salt-'common|master|minion|syndic'.postrm and call with "purge"
clean_common() {
# remove shared job cache and other runtime directories
rm -rf \
/var/cache/salt \
/var/log/salt \
/var/run/salt \
2> /dev/null
}
clean_conf() {
# remove config and log file for master, minion, or syndic
rm -rf \
/etc/salt/pki/$1 \
/var/cache/salt/$1 \
/var/log/salt/$1 \
/var/run/salt/$1 \
2> /dev/null
}
purgefiles() {
case "$pkg" in
master|minion|syndic)
clean_conf $pkg ;;
common)
clean_common ;;
*)
echo "$0 unknown package \`$1'" 1>&2
exit 1 ;;
esac
}
pkg=`echo $0 | cut -f1 -d. | cut -f2 -d-`
case "$1" in
remove)
;;
purge)
purgefiles
;;
upgrade|failed-upgrade|disappear|abort-install|abort-upgrade)
;;
*)
echo "$0 unknown action \`$1'" 1>&2
exit 1 ;;
esac
# This tag is required:
#DEBHELPER#
exit 0

View file

@ -1,10 +0,0 @@
[Unit]
Description=The Salt Minion
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/bin/salt-minion
[Install]
WantedBy=multi-user.target

View file

@ -1,23 +0,0 @@
description "Salt Minion"
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [!2345]
# The respawn in the minion is known to cause problems
# because if the main minion process dies it has done
# so most likely for a good reason. Uncomment these
# two lines to enable respawn
#respawn
#respawn limit 10 5
script
# Read configuration variable file if it is present
[ -f /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
# Activate the virtualenv if defined
[ -f $SALT_USE_VIRTUALENV/bin/activate ] && . $SALT_USE_VIRTUALENV/bin/activate
exec salt-minion
end script

View file

@ -1,2 +0,0 @@
usr/bin/salt-ssh
conf/roster /etc/salt

View file

@ -1 +0,0 @@
doc/man/salt-ssh.1

View file

@ -1,2 +0,0 @@
scripts/salt-syndic /usr/bin
debian/salt-syndic.service /lib/systemd/system

View file

@ -1 +0,0 @@
doc/man/salt-syndic.1

View file

@ -1,55 +0,0 @@
#!/bin/sh -e
# Purge config files, logs, and directories created after package install.
# Note that user-specified alternate locations for these are not affected.
#
# rename to salt-'common|master|minion|syndic'.postrm and call with "purge"
clean_common() {
# remove shared job cache and other runtime directories
rm -rf \
/var/cache/salt \
/var/log/salt \
/var/run/salt \
2> /dev/null
}
clean_conf() {
# remove config and log file for master, minion, or syndic
rm -rf \
/etc/salt/pki/$1 \
/var/cache/salt/$1 \
/var/log/salt/$1 \
/var/run/salt/$1 \
2> /dev/null
}
purgefiles() {
case "$pkg" in
master|minion|syndic)
clean_conf $pkg ;;
common)
clean_common ;;
*)
echo "$0 unknown package \`$1'" 1>&2
exit 1 ;;
esac
}
pkg=`echo $0 | cut -f1 -d. | cut -f2 -d-`
case "$1" in
remove)
;;
purge)
purgefiles
;;
upgrade|failed-upgrade|disappear|abort-install|abort-upgrade)
;;
*)
echo "$0 unknown action \`$1'" 1>&2
exit 1 ;;
esac
# This tag is required:
#DEBHELPER#
exit 0

View file

@ -1,10 +0,0 @@
[Unit]
Description=The Salt Master Server
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/bin/salt-syndic
[Install]
WantedBy=multi-user.target

View file

@ -1,16 +0,0 @@
description "salt-syndic"
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [!2345]
script
# Read configuration variable file if it is present
[ -f /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
# Activate the virtualenv if defined
[ -f $SALT_USE_VIRTUALENV/bin/activate ] && . $SALT_USE_VIRTUALENV/bin/activate
exec salt-syndic
end script

View file

@ -1 +0,0 @@
3.0 (native)

View file

@ -1,3 +0,0 @@
-r dev_requirements_python27.txt
unittest2

View file

@ -1,6 +0,0 @@
-r _requirements.txt
-e git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting
mock
boto>=2.32.1
moto>=0.3.6

View file

@ -58,7 +58,7 @@ def main():
for locale, po_files in sorted(entries.items()):
lc_messages_path = os.path.join(LOCALES_DIR, locale, 'LC_MESSAGES')
print('\nCompiling the {0!r} locale:'.format(locale))
print('\nCompiling the \'{0}\' locale:'.format(locale))
for po_file in sorted(po_files):
relpath = os.path.relpath(po_file, lc_messages_path)
print ' {0}.po -> {0}.mo'.format(relpath.split('.po', 1)[0])

View file

@ -43,7 +43,7 @@ def main():
sys.exit(1)
for locale in sys.argv[1:]:
print('Download {0!r} translations catalog...'.format(locale))
print('Download \'{0}\' translations catalog...'.format(locale))
txclib.utils.exec_command('pull', ['-l', locale], tx_root)
print('Done')

View file

@ -70,10 +70,10 @@ def main():
config.set(HOST, 'password', password)
config.write(open(RCFILE, 'w'))
print('username and password stored in {0!r}'.format(RCFILE))
print('username and password stored in \'{0}\''.format(RCFILE))
os.chmod(RCFILE, 0600)
print('Secured the permissions on {0!r} to 0600'.format(RCFILE))
print('Secured the permissions on \'{0}\' to 0600'.format(RCFILE))
sys.exit(0)

View file

@ -141,7 +141,7 @@ def main():
)
for idx, resource_name in enumerate(sorted(handled_resources)):
sys.stdout.write(
'[{0:>{pad}}/{1}] Removing resource {resource_name!r}'.format(
'[{0:>{pad}}/{1}] Removing resource \'{resource_name}\''.format(
idx + 1,
non_handled_resources,
pad=len(str(non_handled_resources)),

View file

@ -3014,12 +3014,6 @@ source_file = _build/locale/ref/clouds/all/index.pot
source_lang = en
source_name = ref/clouds/all/index.rst
[salt.ref--clouds--all--salt_cloud_clouds_botocore_aws]
file_filter = locale/<lang>/LC_MESSAGES/ref/clouds/all/salt.cloud.clouds.botocore_aws.po
source_file = _build/locale/ref/clouds/all/salt.cloud.clouds.botocore_aws.pot
source_lang = en
source_name = ref/clouds/all/salt.cloud.clouds.botocore_aws.rst
[salt.ref--clouds--all--salt_cloud_clouds_cloudstack]
file_filter = locale/<lang>/LC_MESSAGES/ref/clouds/all/salt.cloud.clouds.cloudstack.po
source_file = _build/locale/ref/clouds/all/salt.cloud.clouds.cloudstack.pot
@ -3056,12 +3050,6 @@ source_file = _build/locale/ref/clouds/all/salt.cloud.clouds.joyent.pot
source_lang = en
source_name = ref/clouds/all/salt.cloud.clouds.joyent.rst
[salt.ref--clouds--all--salt_cloud_clouds_libcloud_aws]
file_filter = locale/<lang>/LC_MESSAGES/ref/clouds/all/salt.cloud.clouds.libcloud_aws.po
source_file = _build/locale/ref/clouds/all/salt.cloud.clouds.libcloud_aws.pot
source_lang = en
source_name = ref/clouds/all/salt.cloud.clouds.libcloud_aws.rst
[salt.ref--clouds--all--salt_cloud_clouds_linode]
file_filter = locale/<lang>/LC_MESSAGES/ref/clouds/all/salt.cloud.clouds.linode.po
source_file = _build/locale/ref/clouds/all/salt.cloud.clouds.linode.pot
@ -3674,12 +3662,6 @@ source_file = _build/locale/ref/clouds/all/salt.cloud.clouds.softlayer_hw.pot
source_lang = en
source_name = ref/clouds/all/salt.cloud.clouds.softlayer_hw.rst
[salt.ref--clouds--all--salt_cloud_clouds_vsphere]
file_filter = locale/<lang>/LC_MESSAGES/ref/clouds/all/salt.cloud.clouds.vsphere.po
source_file = _build/locale/ref/clouds/all/salt.cloud.clouds.vsphere.pot
source_lang = en
source_name = ref/clouds/all/salt.cloud.clouds.vsphere.rst
[salt.ref--configuration--index]
file_filter = locale/<lang>/LC_MESSAGES/ref/configuration/index.po
source_file = _build/locale/ref/configuration/index.pot

View file

@ -9,11 +9,6 @@ BUILDDIR = _build
SPHINXLANG =
XELATEX = xelatex
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# ----- Translations Support ------------------------------------------------>
# If language is set, also set translation options
ifeq ($(shell [ "x$(SPHINXLANG)" != "x" ] && echo 0 || echo 1), 0)
@ -36,7 +31,7 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(TRANSLATIONOPTS
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext translations download-translations
.PHONY: help clean check_sphinx-build html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext translations download-translations
help:
@echo "Please use \`make <target>' where <target> is one of"
@ -69,38 +64,42 @@ clean:
rm -rf $(BUILDDIR)/*
test -d 'locale' && find locale/ -name *.mo -exec rm {} \; || true
html: translations
# User-friendly check for sphinx-build
check_sphinx-build:
@which $(SPHINXBUILD) >/dev/null 2>&1 || (echo "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)" >&2; false)
html: check_sphinx-build translations
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml: translations
dirhtml: check_sphinx-build translations
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml: translations
singlehtml: check_sphinx-build translations
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle: translations
pickle: check_sphinx-build translations
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json: translations
json: check_sphinx-build translations
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp: translations
htmlhelp: check_sphinx-build translations
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp: translations
qthelp: check_sphinx-build translations
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
@ -109,7 +108,7 @@ qthelp: translations
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Salt.qhc"
devhelp: translations
devhelp: check_sphinx-build translations
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@ -118,31 +117,31 @@ devhelp: translations
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Salt"
@echo "# devhelp"
epub: translations
epub: check_sphinx-build translations
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex: translations
latex: check_sphinx-build translations
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf: translations
latexpdf: check_sphinx-build translations
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
latexpdfja: translations
latexpdfja: check_sphinx-build translations
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
pdf: translations
pdf: check_sphinx-build translations
@if [ "$(XELATEX)" = "xelatex" ] || [ "x$(XELATEX)" = "x" ]; then \
echo "The '$(XELATEX)' command was not found."; \
fi
@ -154,70 +153,69 @@ pdf: translations
cheatsheet: translations
@echo "Running cheatsheet/salt.tex file through xelatex..."
cd cheatsheet && xelatex salt.tex && cp salt.pdf ../salt-cheatsheet.pdf
cd cheatsheet && xelatex salt.tex && cp salt.pdf ../salt-cheatsheet.pdf
@echo "./salt-cheatsheet.pdf created."
text: translations
text: check_sphinx-build translations
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man: translations
man: check_sphinx-build translations
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo: translations
texinfo: check_sphinx-build translations
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info: translations
info: check_sphinx-build translations
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
gettext: check_sphinx-build
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale"
changes: translations
changes: check_sphinx-build translations
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
spelling:
spelling: check_sphinx-build
$(SPHINXBUILD) -b spelling $(ALLSPHINXOPTS) $(BUILDDIR)/spelling
@echo
@echo "Spell check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/spelling/output.txt."
linkcheck:
linkcheck: check_sphinx-build
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
doctest: check_sphinx-build
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
xml: translations
xml: check_sphinx-build translations
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
pseudoxml: translations
pseudoxml: check_sphinx-build translations
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
translations:
@if [ "$(SPHINXLANG)" = "en" ] || [ "x$(SPHINXLANG)" = "x" ]; then \
echo "No need to update translations. Skipping..."; \

View file

@ -40,4 +40,10 @@ class SaltFunctionDocumenter(FunctionDocumenter):
def setup(app):
app.add_autodocumenter(SaltFunctionDocumenter)
def add_documenter(app, env, docnames):
app.add_autodocumenter(SaltFunctionDocumenter)
# add_autodocumenter() must be called after the initial setup and the
# 'builder-inited' event, as sphinx.ext.autosummary will restore the
# original documenter on 'builder-inited'
app.connect('env-before-read-docs', add_documenter)

View file

@ -15,7 +15,7 @@ def write_urls_index(app, exc):
inventory = os.path.join(app.builder.outdir, 'objects.inv')
objects = sphinx.ext.intersphinx.fetch_inventory(app, DOCS_URL, inventory)
with open(os.path.join(app.builder.outdir, 'shorturls.json'), 'wb') as f:
with open(os.path.join(app.builder.outdir, 'shorturls.json'), 'w') as f:
json.dump(objects, f)
def setup(app):

View file

@ -0,0 +1,12 @@
.. admonition:: Do not use dots in SLS file names or their directories
The initial implementation of :conf_master:`top.sls <state_top>` and
:ref:`include-declaration` followed the python import model where a slash
is represented as a period. This means that a SLS file with a period in
the name ( besides the suffix period) can not be referenced. For example,
webserver_1.0.sls is not referenceable because webserver_1.0 would refer
to the directory/file webserver_1/0.sls
The same applies for any subdirectories, this is especially 'tricky' when
git repos are created. Another command that typically can't render it's
output is ```state.show_sls``` of a file in a path that contains a dot.

View file

@ -1,6 +1,6 @@
**Before continuing** make sure you have a working Salt installation by
following the :doc:`installation </topics/installation/index>` and the
:doc:`configuration </ref/configuration/index>` instructions.
following the :ref:`installation` and the
:ref:`configuration <configuring-salt>` instructions.
.. admonition:: Stuck?

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 113 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 109 KiB

BIN
doc/_static/rest_status_screen.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
doc/_static/snapshot_manager.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

BIN
doc/_static/spm-overview.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
doc/_static/spm-package-contents.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
doc/_static/spm-package-extraction.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Some files were not shown because too many files have changed in this diff Show more