salt/doc/topics/ssh/roster.rst

73 lines
3.0 KiB
ReStructuredText
Raw Normal View History

.. _ssh-roster:
2013-09-09 05:00:45 +00:00
============
Salt Rosters
============
2014-04-30 20:55:30 +00:00
Salt rosters are pluggable systems added in Salt 0.17.0 to facilitate the
2013-09-09 05:00:45 +00:00
``salt-ssh`` system.
The roster system was created because ``salt-ssh`` needs a means to
Fixed pedantic spelling errors picked up by lintian joe@unstable-builder:~/salt_017rc/salt$ lintian -I ../*.deb I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz softwares software - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz specifed specified - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz Targetting Targeting - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz targetted targeted - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz Dependant Dependent - done I: salt-common: FSSTND-dir-in-manual-page usr/share/man/man7/salt.7.gz:57301 /var/named/ - not done - example I: salt-common: FSSTND-dir-in-manual-page usr/share/man/man7/salt.7.gz:57320 /var/named/ - not done - example I: salt-common: FSSTND-dir-in-manual-page usr/share/man/man7/salt.7.gz:57339 /var/named/ - not done - example I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz recieve receive - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz allows to allows one to - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz allows to allows one to - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz dont don't - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz succesfully successfully - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz softwares software - done I: salt-common: spelling-error-in-manpage usr/share/man/man7/salt.7.gz These package This package - not done - legitimate
2013-09-20 12:01:20 +00:00
identify which systems need to be targeted for execution.
2013-09-09 05:00:45 +00:00
.. seealso:: :ref:`all-salt.roster`
2013-09-09 05:00:45 +00:00
.. note::
The Roster System is not needed or used in standard Salt because the
master does not need to be initially aware of target systems, since the
Salt Minion checks itself into the master.
Since the roster system is pluggable, it can be easily augmented to attach to
any existing systems to gather information about what servers are presently
available and should be attached to by ``salt-ssh``. By default the roster
file is located at /etc/salt/roster.
2013-09-09 05:00:45 +00:00
How Rosters Work
================
The roster system compiles a data structure internally referred to as
``targets``. The ``targets`` is a list of target systems and attributes about how
2013-09-09 05:00:45 +00:00
to connect to said systems. The only requirement for a roster module in Salt
is to return the ``targets`` data structure.
2013-09-09 05:00:45 +00:00
Targets Data
------------
The information which can be stored in a roster ``target`` is the following:
2013-09-09 05:00:45 +00:00
.. code-block:: yaml
2015-05-04 20:46:16 +00:00
<Salt ID>: # The id to reference the target system with
host: # The IP address or DNS name of the remote host
user: # The user to log in as
passwd: # The password to log in with
# Optional parameters
2015-05-04 20:46:16 +00:00
port: # The target system's ssh port number
sudo: # Boolean to run command via sudo
2016-08-04 18:24:18 +00:00
sudo_user: # Str: Set this to execute Salt as a sudo user other than root.
# This user must be in the same system group as the remote user
# that is used to login and is specified above. Alternatively,
# the user must be a super-user.
tty: # Boolean: Set this option to True if sudo is also set to
# True and requiretty is also set on the target system
2015-05-04 20:46:16 +00:00
priv: # File path to ssh private key, defaults to salt-ssh.rsa
# The priv can also be set to agent-forwarding to not specify
# a key, but use ssh agent forwarding
timeout: # Number of seconds to wait for response when establishing
# an SSH connection
2015-05-04 20:46:16 +00:00
minion_opts: # Dictionary of minion opts
thin_dir: # The target system's storage directory for Salt
# components. Defaults to /tmp/salt-<hash>.
2015-12-10 21:51:43 +00:00
cmd_umask: # umask to enforce for the salt-call command. Should be in
# octal (so for 0o077 in YAML you would do 0077, or 63)
thin_dir
--------
Salt needs to upload a standalone environment to the target system, and this
defaults to /tmp/salt-<hash>. This directory will be cleaned up per normal
systems operation.
If you need a persistent Salt environment, for instance to set persistent grains,
this value will need to be changed.