salt-bootstrap/README.rst

121 lines
3.3 KiB
ReStructuredText
Raw Normal View History

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