salt-bootstrap/README.rst

156 lines
4 KiB
ReStructuredText
Raw Normal View History

2013-01-25 21:26:19 +00:00
==================
2012-11-29 05:04:36 +00:00
Bootstrapping Salt
==================
.. 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
curl -L http://bootstrap.saltstack.org | sudo sh -s -- git develop
2012-11-29 05:35:49 +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
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
2012-12-05 01:38:33 +00:00
If you already have python installed, then it's as easy as:
.. code:: console
python -m urllib "http://bootstrap.saltstack.org" | sudo sh -s -- git develop
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
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
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]
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
- 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
- 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