2013-01-25 21:26:19 +00:00
|
|
|
==================
|
2012-11-29 05:04:36 +00:00
|
|
|
Bootstrapping Salt
|
|
|
|
==================
|
|
|
|
|
2013-01-19 10:59:33 +00:00
|
|
|
.. image:: https://secure.travis-ci.org/saltstack/salt-bootstrap.png?branch=develop
|
|
|
|
:target: http://travis-ci.org/saltstack/salt-bootstrap
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
Before `Salt`_ can be used for provisioning on the desired machine, the
|
|
|
|
binaries need to be installed. Since `Salt`_ supports many different
|
|
|
|
distributions and versions of operating systems, the `Salt`_ installation
|
|
|
|
process is handled by this shell script ``bootstrap-salt-minion.sh``. This
|
|
|
|
script runs through a series of checks to determine operating system type and
|
|
|
|
version to then install the `Salt`_ binaries using the appropriate methods.
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
One Line Bootstrap
|
|
|
|
------------------
|
|
|
|
|
|
|
|
If you're looking for the *one-liner* to install salt...
|
|
|
|
|
|
|
|
For example, using ``curl`` to install latest git:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2013-01-27 18:20:24 +00:00
|
|
|
curl -L http://bootstrap.saltstack.org | sudo sh -s -- git develop
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
Or, using ``wget`` to install your distribution's stable packages:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
wget -O - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
If you have certificate issues using ``wget`` try the following:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
wget --no-check-certificate -O - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2012-12-05 01:38:33 +00:00
|
|
|
If you already have python installed, then it's as easy as:
|
2012-12-05 01:34:38 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2013-01-27 18:20:24 +00:00
|
|
|
python -m urllib "http://bootstrap.saltstack.org" | sudo sh -s -- git develop
|
2012-12-05 01:34:38 +00:00
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
On a FreeBSD base system you usually don't have either of the above binaries available. You **do**
|
|
|
|
have ``fetch`` available though:
|
2013-01-22 17:06:50 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
fetch -o - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
If all you want is to install a ``salt-master`` using latest git:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
curl -L http://bootstrap.saltstack.org | sudo sh -s -- -M -N git develop
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
Adding support for other operating systems
|
|
|
|
------------------------------------------
|
|
|
|
In order to install salt for a distribution you need to define:
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
1. To Install Dependencies, which is required, one of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2012-11-29 05:18:43 +00:00
|
|
|
install_<distro>_<distro_version>_<install_type>_deps
|
|
|
|
install_<distro>_<distro_version>_deps
|
|
|
|
install_<distro>_<install_type>_deps
|
|
|
|
install_<distro>_deps
|
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
2. Optionally, define a minion configuration function, which will be called if the
|
|
|
|
``-c|config-dir`` option is passed. One of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2012-11-29 05:18:43 +00:00
|
|
|
config_<distro>_<distro_version>_<install_type>_minion
|
|
|
|
config_<distro>_<distro_version>_minion
|
|
|
|
config_<distro>_<install_type>_minion
|
|
|
|
config_<distro>_minion
|
|
|
|
config_minion [THIS ONE IS ALREADY DEFINED AS THE DEFAULT]
|
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
3. To install salt, which, of course, is required, one of:
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
install_<distro>_<distro_version>_<install_type>
|
|
|
|
install_<distro>_<install_type>
|
|
|
|
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
4. Also optionally, define a post install function, one of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2012-11-29 05:18:43 +00:00
|
|
|
install_<distro>_<distro_versions>_<install_type>_post
|
|
|
|
install_<distro>_<distro_versions>_post
|
|
|
|
install_<distro>_<install_type>_post
|
|
|
|
install_<distro>_post
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
Below is an example for Ubuntu Oneiric:
|
|
|
|
|
2012-11-29 05:27:54 +00:00
|
|
|
.. code:: bash
|
|
|
|
|
2012-11-29 05:23:55 +00:00
|
|
|
install_ubuntu_1110_deps() {
|
|
|
|
apt-get update
|
|
|
|
apt-get -y install python-software-properties
|
2012-11-29 05:39:43 +00:00
|
|
|
add-apt-repository -y 'deb http://us.archive.ubuntu.com/ubuntu/ oneiric universe'
|
2012-11-29 05:23:55 +00:00
|
|
|
add-apt-repository -y ppa:saltstack/salt
|
|
|
|
}
|
|
|
|
|
|
|
|
install_ubuntu_1110_post() {
|
2012-11-29 05:39:43 +00:00
|
|
|
add-apt-repository -y --remove 'deb http://us.archive.ubuntu.com/ubuntu/ oneiric universe'
|
2012-11-29 05:23:55 +00:00
|
|
|
}
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2012-11-29 05:23:55 +00:00
|
|
|
install_ubuntu_stable() {
|
|
|
|
apt-get -y install salt-minion
|
|
|
|
}
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
|
|
|
|
Since there is no ``install_ubuntu_1110_stable()`` it defaults to the
|
|
|
|
unspecified version script.
|
|
|
|
|
|
|
|
The bootstrapping script must be plain POSIX sh only, **not** bash or another
|
|
|
|
shell script. By design the targeting for each operating system and version is
|
|
|
|
very specific. Assumptions of supported versions or variants should not be
|
|
|
|
made, to avoid failed or broken installations.
|
|
|
|
|
|
|
|
Supported Operating Systems
|
|
|
|
---------------------------
|
|
|
|
- Ubuntu 10.x/11.x/12.x
|
|
|
|
- Debian 6.x
|
2013-01-27 18:20:24 +00:00
|
|
|
- CentOS 5/6
|
|
|
|
- Red Hat 5/6
|
|
|
|
- Red Hat Enterprise 5/6
|
2012-11-29 05:04:36 +00:00
|
|
|
- Fedora
|
|
|
|
- Arch
|
|
|
|
- FreeBSD 9.0
|
2013-01-27 23:35:10 +00:00
|
|
|
- SmartOS
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-29 05:12:18 +00:00
|
|
|
.. _`Salt`: http://saltstack.org/
|
2012-11-29 05:39:43 +00:00
|
|
|
.. vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want sts=2 sw=2 et
|