salt/doc/topics/installation/index.rst

125 lines
3.4 KiB
ReStructuredText
Raw Normal View History

2012-10-04 21:30:13 +00:00
.. _installation:
============
Installation
============
.. seealso::
:doc:`Installing Salt for development </topics/development/hacking>` and
contributing to the project.
Quick Install
-------------
2014-03-20 10:43:53 +00:00
On most distributions, you can set up a **Salt Minion** with the
`Salt Bootstrap`_.
.. _`Salt Bootstrap`: https://github.com/saltstack/salt-bootstrap
2014-02-19 23:40:06 +00:00
Platform-specific Installation Instructions
-------------------------------------------
2014-02-19 23:40:06 +00:00
These guides go into detail how to install Salt on a given platform.
.. toctree::
:maxdepth: 1
arch
debian
fedora
freebsd
gentoo
osx
rhel
solaris
ubuntu
windows
2013-05-01 22:48:16 +00:00
suse
Dependencies
------------
Salt should run on any Unix-like platform so long as the dependencies are met.
2012-07-01 16:28:37 +00:00
* `Python 2.6`_ >= 2.6 <3.0
* `msgpack-python`_ - High-performance message interchange format
* `YAML`_ - Python YAML bindings
* `Jinja2`_ - parsing Salt States (configurable in the master settings)
2014-02-19 23:40:06 +00:00
* `MarkupSafe`_ - Implements a XML/HTML/XHTML Markup safe string for Python
* `apache-libcloud`_ - Python lib for interacting with many of the popular
cloud service providers using a unified API
* `Requests`_ - HTTP library
2014-06-17 14:53:29 +00:00
Depending on the chosen Salt transport, `ZeroMQ`_ or `RAET`_, dependencies
vary:
* ZeroMQ:
* `ZeroMQ`_ >= 3.2.0
* `pyzmq`_ >= 2.2.0 - ZeroMQ Python bindings
* `PyCrypto`_ - The Python cryptography toolkit
* `M2Crypto`_ - "Me Too Crypto" - Python OpenSSL wrapper
* RAET:
* `libnacl`_ - Python bindings to `libsodium`_
* `ioflo`_ - The flo programming interface raet and salt-raet is built on
* `RAET`_ - The worlds most awesome UDP protocol
2014-06-17 14:53:29 +00:00
Salt defaults to the `ZeroMQ`_ transport, and the choice can be made at install
time, for example:
.. code-block:: bash
2014-06-17 14:53:29 +00:00
2014-06-17 23:46:59 +00:00
python setup.py install --salt-transport=raet
2014-06-17 14:53:29 +00:00
This way, only the required dependencies are pulled by the setup script if need
be.
2014-06-17 23:36:35 +00:00
If installing using pip, the ``--salt-transport`` install option can be
provided like:
.. code-block:: bash
2014-06-17 23:36:35 +00:00
pip install --install-option="--salt-transport=raet" salt
Optional Dependencies
---------------------
* `mako`_ - an optional parser for Salt States (configurable in the master
settings)
* gcc - dynamic `Cython`_ module compiling
.. _`Python 2.6`: http://python.org/download/
.. _`ZeroMQ`: http://zeromq.org/
.. _`pyzmq`: https://github.com/zeromq/pyzmq
.. _`msgpack-python`: https://pypi.python.org/pypi/msgpack-python/0.1.12
.. _`PyCrypto`: https://www.dlitz.net/software/pycrypto/
.. _`M2Crypto`: http://chandlerproject.org/Projects/MeTooCrypto
2014-02-20 10:38:04 +00:00
.. _`YAML`: http://pyyaml.org/
.. _`Jinja2`: http://jinja.pocoo.org/
2014-02-20 10:38:04 +00:00
.. _`MarkupSafe`: https://pypi.python.org/pypi/MarkupSafe
.. _`mako`: http://www.makotemplates.org/
2014-02-20 10:38:04 +00:00
.. _`Cython`: http://cython.org/
2014-02-26 20:28:13 +00:00
.. _`apache-libcloud`: http://libcloud.apache.org
.. _`Requests`: http://docs.python-requests.org/en/latest
.. _`libnacl`: https://github.com/saltstack/libnacl
.. _`ioflo`: https://github.com/ioflo/ioflo
.. _`RAET`: https://github.com/saltstack/raet
.. _`libsodium`: https://github.com/jedisct1/libsodium
Upgrading Salt
--------------
2014-05-25 04:42:00 +00:00
When upgrading Salt, the master(s) should always be upgraded first. Backward
compatibility for minions running newer versions of salt than their masters is
not guaranteed.
2014-05-25 04:42:00 +00:00
Whenever possible, backward compatibility between new masters and old minions
will be preserved. Generally, the only exception to this policy is in case of
a security vulnerability.