2012-11-29 05:04:36 +00:00
|
|
|
Bootstrapping Salt
|
|
|
|
==================
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Adding support for other operating systems
|
|
|
|
------------------------------------------
|
|
|
|
In order to install salt for a distribution you need to define:
|
|
|
|
|
2012-11-29 05:30:48 +00:00
|
|
|
* To Install Dependencies, which is required, one of:
|
|
|
|
|
|
|
|
.. 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
|
|
|
|
|
|
|
|
|
2012-11-29 05:30:48 +00:00
|
|
|
* To install salt, which, of course, is required, one of:
|
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2012-11-29 05:18:43 +00:00
|
|
|
install_<distro>_<distro_version>_<install_type>
|
|
|
|
install_<distro>_<install_type>
|
|
|
|
|
|
|
|
|
|
|
|
* Optionally, define a minion configuration function, which will be called if
|
2012-11-29 05:30:48 +00:00
|
|
|
the ``-c|config-dir`` option is passed. One of:
|
|
|
|
|
|
|
|
.. 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]
|
|
|
|
|
|
|
|
|
2012-11-29 05:30:48 +00:00
|
|
|
* Also optionally, define a post install function, one of:
|
|
|
|
|
|
|
|
.. 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:27:54 +00:00
|
|
|
add-apt-repository -y 'deb http://us.archive.ubuntu.com/ubuntu/ oneiric
|
2012-11-29 05:23:55 +00:00
|
|
|
universe'
|
|
|
|
add-apt-repository -y ppa:saltstack/salt
|
|
|
|
}
|
|
|
|
|
|
|
|
install_ubuntu_1110_post() {
|
|
|
|
add-apt-repository -y --remove 'deb http://us.archive.ubuntu.com/ubuntu/
|
|
|
|
oneiric universe'
|
|
|
|
}
|
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
|
|
|
|
- CentOS 6.3
|
|
|
|
- Fedora
|
|
|
|
- Arch
|
|
|
|
- FreeBSD 9.0
|
|
|
|
|
|
|
|
|
|
|
|
One Line Bootstrap
|
|
|
|
------------------
|
|
|
|
|
|
|
|
Salt can be installed using a single line command.
|
2012-11-29 05:30:48 +00:00
|
|
|
For example, using ``curl`` to install latest git:
|
|
|
|
|
|
|
|
.. code:: console
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
curl -L http://bootstrap.saltstack.org | sudo sh -s git develop
|
|
|
|
|
|
|
|
|
2012-11-29 05:30:48 +00:00
|
|
|
Or, using ``wget`` to install current distro's stable version:
|
|
|
|
|
|
|
|
.. code:: console
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
wget -O - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
2012-11-29 05:30:48 +00:00
|
|
|
If you have certificate issues using ``wget`` try the following:
|
|
|
|
|
|
|
|
.. code:: console
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
wget --no-check-certificate -O - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
|
|
|
|
2012-11-29 05:12:18 +00:00
|
|
|
.. _`Salt`: http://saltstack.org/
|
2012-11-29 05:04:36 +00:00
|
|
|
.. vim: fenc=utf-8 spell spl=en cc=80 tw=79 fo=want sts=2 sw=2 et
|