2013-01-25 21:26:19 +00:00
|
|
|
==================
|
2012-11-29 05:04:36 +00:00
|
|
|
Bootstrapping Salt
|
|
|
|
==================
|
|
|
|
|
2019-02-06 15:13:52 -07:00
|
|
|
|build|
|
2016-06-28 13:16:51 +02:00
|
|
|
|
2017-01-11 13:05:09 +02:00
|
|
|
.. contents::
|
|
|
|
:local:
|
|
|
|
|
2016-03-12 17:36:20 +02: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.sh``. This
|
|
|
|
script runs through a series of checks to determine operating system type and version to then
|
2018-01-30 16:14:02 -05:00
|
|
|
install the `Salt`_ binaries using the appropriate methods. For Windows, use the
|
|
|
|
``bootstrap-salt.ps1`` script.
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
**NOTE**
|
2014-02-09 09:13:17 +00:00
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
This ``README`` file is not the absolute truth as to what the bootstrap script is capable of. For
|
2017-09-25 17:06:58 -04:00
|
|
|
that, please read the generated help by passing ``-h`` to the script or even better,
|
|
|
|
`read the source`_.
|
2014-02-09 09:13:17 +00:00
|
|
|
|
2020-02-10 12:37:24 -06:00
|
|
|
Also, to secure your Salt installation, check out these instructions for `hardening salt`_.
|
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
Bootstrap
|
2016-03-12 17:36:20 +02:00
|
|
|
=========
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2018-03-27 13:25:44 +03:00
|
|
|
In every two-step installation example, you would be well-served to **verify against the SHA256
|
|
|
|
sum** of the downloaded ``bootstrap-salt.sh`` file.
|
2013-12-17 08:04:22 +00:00
|
|
|
|
2020-10-19 10:38:31 +01:00
|
|
|
.. _sha256sums:
|
|
|
|
|
2017-06-12 10:44:25 -06:00
|
|
|
The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is:
|
2016-03-20 16:55:07 +02:00
|
|
|
|
2024-01-04 22:34:58 +00:00
|
|
|
- 2024.01.04: ``cebcbc67895e238d1cf0024922a7fe5c772b9aaba346490c8fa6193bb0d993d4``
|
2023-11-16 19:54:36 +00:00
|
|
|
- 2023.11.16: ``3757ed82161113fed4c711fd7332e922265eeeb54e6e4f657a08ea82d57cc3a2``
|
2023-11-07 18:38:07 +00:00
|
|
|
- 2023.11.07: ``91f8a3bfb8b14476f7793c7f20cec7bfc638c10c073786f9a8904a858a929784``
|
2023-08-03 16:34:03 +00:00
|
|
|
- 2023.08.03: ``963e559bdb85adecfbbec2c3b81190392bc59b24992e4491e919cd748eeafcb8``
|
2023-07-25 20:07:13 +00:00
|
|
|
- 2023.07.25: ``eaaaadaed40fe2e791d59a9e48f24449428a35ca61782d9139f1272c05524323``
|
2023-06-28 20:31:21 +00:00
|
|
|
- 2023.06.28: ``f45f5da8abee27ef385131f5cfa9382d3a15863d0a05688a0404d2f057b27776``
|
2023-04-26 18:47:59 +00:00
|
|
|
- 2023.04.26: ``516fa9cc2e258cb8484ff360b9674b46918f657985c21ca9301e42a3dd263d60``
|
2023-04-21 16:58:35 +00:00
|
|
|
- 2023.04.21: ``e364428aa7a25f8e2c5e18e36e222351724c6cf35a1d57158f3357cde1e0a0f0``
|
2023-04-06 18:02:17 +00:00
|
|
|
- 2023.04.06: ``994bf7e8bd92fe6d70d291c7562aff299f5651046b4e76dfa506cee0d9bb0843``
|
2017-06-12 10:44:25 -06:00
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
If you're looking for a *one-liner* to install Salt, please scroll to the bottom and use the
|
2017-06-12 10:44:25 -06:00
|
|
|
instructions for `Installing via an Insecure One-Liner`_.
|
2016-03-20 16:55:07 +02:00
|
|
|
|
2020-06-23 13:02:57 -06:00
|
|
|
There are also .sha256 files for verifying against in the repo for the stable branch. You can also
|
2021-01-21 22:44:46 +00:00
|
|
|
get the correct sha256 sum for the stable release from https://bootstrap.saltproject.io/sha256 and
|
|
|
|
https://winbootstrap.saltproject.io/sha256
|
2020-06-23 13:02:57 -06:00
|
|
|
|
2017-09-27 15:56:15 -04:00
|
|
|
Contributing
|
|
|
|
------------
|
|
|
|
|
|
|
|
The Salt Bootstrap project is open and encouraging to code contributions. Please review the
|
|
|
|
`Contributing Guidelines`_ for information on filing issues, fixing bugs, and submitting features.
|
2014-01-30 19:57:57 -07:00
|
|
|
|
2018-11-08 15:38:57 -05:00
|
|
|
The `Contributing Guidelines`_ also contain information about the Bootstrap release cadence and
|
|
|
|
process.
|
|
|
|
|
2014-01-30 20:05:20 -07:00
|
|
|
Examples
|
2016-03-12 17:36:20 +02:00
|
|
|
--------
|
2014-01-30 20:05:20 -07:00
|
|
|
|
2020-12-15 17:34:01 -06:00
|
|
|
To view the latest options and descriptions for ``salt-bootstrap``, use ``-h`` and the terminal:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
./salt-bootstrap.sh -h
|
|
|
|
|
|
|
|
Usage : bootstrap-salt.sh [options] <install-type> [install-type-args]
|
|
|
|
|
|
|
|
Installation types:
|
|
|
|
- stable Install latest stable release. This is the default
|
|
|
|
install type
|
|
|
|
- stable [branch] Install latest version on a branch. Only supported
|
2021-01-21 22:44:46 +00:00
|
|
|
for packages available at repo.saltproject.io
|
2020-12-15 17:34:01 -06:00
|
|
|
- stable [version] Install a specific version. Only supported for
|
2021-01-21 22:44:46 +00:00
|
|
|
packages available at repo.saltproject.io
|
2020-12-15 17:34:01 -06:00
|
|
|
To pin a 3xxx minor version, specify it as 3xxx.0
|
|
|
|
- testing RHEL-family specific: configure EPEL testing repo
|
|
|
|
- git Install from the head of the master branch
|
|
|
|
- git [ref] Install from any git ref (such as a branch, tag, or
|
|
|
|
commit)
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
- bootstrap-salt.sh
|
|
|
|
- bootstrap-salt.sh stable
|
2022-06-07 06:29:36 +01:00
|
|
|
- bootstrap-salt.sh stable 3004.1
|
|
|
|
- bootstrap-salt.sh stable v3003.4
|
2020-12-15 17:34:01 -06:00
|
|
|
- bootstrap-salt.sh testing
|
|
|
|
- bootstrap-salt.sh git
|
2022-06-07 06:29:36 +01:00
|
|
|
- bootstrap-salt.sh git 3004.1
|
|
|
|
- bootstrap-salt.sh git v3003.4
|
2020-12-15 17:34:01 -06:00
|
|
|
- bootstrap-salt.sh git 06f249901a2e2f1ed310d58ea3921a129f214358
|
|
|
|
|
|
|
|
Options:
|
|
|
|
-h Display this message
|
|
|
|
-v Display script version
|
|
|
|
-n No colours
|
|
|
|
-D Show debug output
|
|
|
|
-c Temporary configuration directory
|
|
|
|
-g Salt Git repository URL. Default: https://github.com/saltstack/salt.git
|
|
|
|
-w Install packages from downstream package repository rather than
|
|
|
|
upstream, saltstack package repository. This is currently only
|
|
|
|
implemented for SUSE.
|
|
|
|
-k Temporary directory holding the minion keys which will pre-seed
|
|
|
|
the master.
|
|
|
|
-s Sleep time used when waiting for daemons to start, restart and when
|
|
|
|
checking for the services running. Default: 3
|
|
|
|
-L Also install salt-cloud and required python-libcloud package
|
|
|
|
-M Also install salt-master
|
|
|
|
-S Also install salt-syndic
|
|
|
|
-N Do not install salt-minion
|
|
|
|
-X Do not start daemons after installation
|
|
|
|
-d Disables checking if Salt services are enabled to start on system boot.
|
|
|
|
You can also do this by touching /tmp/disable_salt_checks on the target
|
|
|
|
host. Default: ${BS_FALSE}
|
|
|
|
-P Allow pip based installations. On some distributions the required salt
|
|
|
|
packages or its dependencies are not available as a package for that
|
|
|
|
distribution. Using this flag allows the script to use pip as a last
|
|
|
|
resort method. NOTE: This only works for functions which actually
|
|
|
|
implement pip based installations.
|
|
|
|
-U If set, fully upgrade the system prior to bootstrapping Salt
|
|
|
|
-I If set, allow insecure connections while downloading any files. For
|
|
|
|
example, pass '--no-check-certificate' to 'wget' or '--insecure' to
|
|
|
|
'curl'. On Debian and Ubuntu, using this option with -U allows obtaining
|
|
|
|
GnuPG archive keys insecurely if distro has changed release signatures.
|
|
|
|
-F Allow copied files to overwrite existing (config, init.d, etc)
|
|
|
|
-K If set, keep the temporary files in the temporary directories specified
|
|
|
|
with -c and -k
|
|
|
|
-C Only run the configuration function. Implies -F (forced overwrite).
|
|
|
|
To overwrite Master or Syndic configs, -M or -S, respectively, must
|
|
|
|
also be specified. Salt installation will be ommitted, but some of the
|
|
|
|
dependencies could be installed to write configuration with -j or -J.
|
|
|
|
-A Pass the salt-master DNS name or IP. This will be stored under
|
|
|
|
${BS_SALT_ETC_DIR}/minion.d/99-master-address.conf
|
|
|
|
-i Pass the salt-minion id. This will be stored under
|
|
|
|
${BS_SALT_ETC_DIR}/minion_id
|
|
|
|
-p Extra-package to install while installing Salt dependencies. One package
|
|
|
|
per -p flag. You are responsible for providing the proper package name.
|
|
|
|
-H Use the specified HTTP proxy for all download URLs (including https://).
|
|
|
|
For example: http://myproxy.example.com:3128
|
|
|
|
-b Assume that dependencies are already installed and software sources are
|
|
|
|
set up. If git is selected, git tree is still checked out as dependency
|
|
|
|
step.
|
|
|
|
-f Force shallow cloning for git installations.
|
|
|
|
This may result in an "n/a" in the version number.
|
|
|
|
-l Disable ssl checks. When passed, switches "https" calls to "http" where
|
|
|
|
possible.
|
|
|
|
-V Install Salt into virtualenv
|
|
|
|
(only available for Ubuntu based distributions)
|
|
|
|
-a Pip install all Python pkg dependencies for Salt. Requires -V to install
|
|
|
|
all pip pkgs into the virtualenv.
|
|
|
|
(Only available for Ubuntu based distributions)
|
|
|
|
-r Disable all repository configuration performed by this script. This
|
|
|
|
option assumes all necessary repository configuration is already present
|
|
|
|
on the system.
|
|
|
|
-R Specify a custom repository URL. Assumes the custom repository URL
|
|
|
|
points to a repository that mirrors Salt packages located at
|
2021-01-21 22:44:46 +00:00
|
|
|
repo.saltproject.io. The option passed with -R replaces the
|
|
|
|
"repo.saltproject.io". If -R is passed, -r is also set. Currently only
|
2020-12-15 17:34:01 -06:00
|
|
|
works on CentOS/RHEL and Debian based distributions.
|
|
|
|
-J Replace the Master config file with data passed in as a JSON string. If
|
|
|
|
a Master config file is found, a reasonable effort will be made to save
|
|
|
|
the file with a ".bak" extension. If used in conjunction with -C or -F,
|
|
|
|
no ".bak" file will be created as either of those options will force
|
|
|
|
a complete overwrite of the file.
|
|
|
|
-j Replace the Minion config file with data passed in as a JSON string. If
|
|
|
|
a Minion config file is found, a reasonable effort will be made to save
|
|
|
|
the file with a ".bak" extension. If used in conjunction with -C or -F,
|
|
|
|
no ".bak" file will be created as either of those options will force
|
|
|
|
a complete overwrite of the file.
|
|
|
|
-q Quiet salt installation from git (setup.py install -q)
|
|
|
|
-x Changes the Python version used to install Salt.
|
|
|
|
For CentOS 6 git installations python2.7 is supported.
|
2022-12-08 11:54:33 -08:00
|
|
|
Fedora git installation, CentOS 7, Ubuntu 18.04 support python3.
|
2020-12-15 17:34:01 -06:00
|
|
|
-y Installs a different python version on host. Currently this has only been
|
|
|
|
tested with CentOS 6 and is considered experimental. This will install the
|
|
|
|
ius repo on the box if disable repo is false. This must be used in conjunction
|
|
|
|
with -x <pythonversion>. For example:
|
|
|
|
sh bootstrap.sh -P -y -x python2.7 git v2017.7.2
|
|
|
|
The above will install python27 and install the git version of salt using the
|
|
|
|
python2.7 executable. This only works for git and pip installations.
|
2023-08-01 16:59:41 -07:00
|
|
|
-Q Quickstart, install the Salt master and the Salt minion.
|
|
|
|
And automatically accept the minion key.
|
2020-12-15 17:34:01 -06:00
|
|
|
|
2016-04-04 18:53:15 +03:00
|
|
|
The Salt Bootstrap script has a wide variety of options that can be passed as
|
2017-12-28 09:07:15 -05:00
|
|
|
well as several ways of obtaining the bootstrap script itself. Note that the use of ``sudo``
|
|
|
|
is not needed when running these commands as the ``root`` user.
|
2016-04-04 18:53:15 +03:00
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
**NOTE**
|
2015-10-23 12:25:06 -06:00
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
The examples below show how to bootstrap Salt directly from GitHub or another Git repository.
|
2017-09-25 17:06:58 -04:00
|
|
|
Run the script without any parameters to get latest stable Salt packages for your system from
|
2023-08-08 08:57:05 -07:00
|
|
|
the `Salt Project's repository`_. See first example in the `Install using wget`_ section.
|
2016-03-28 10:38:56 +03:00
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
|
2016-03-12 17:36:20 +02:00
|
|
|
Install using curl
|
|
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2023-08-08 08:57:05 -07:00
|
|
|
If you want to install a package of a specific release version, from the Salt Project repo:
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
2023-08-01 16:59:41 -07:00
|
|
|
sudo sh bootstrap-salt.sh -P stable 3006.1
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2020-12-15 17:34:01 -06:00
|
|
|
If you want to install a specific release version, based on the Git tags:
|
2016-03-12 17:36:20 +02:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
2023-08-01 16:59:41 -07:00
|
|
|
sudo sh bootstrap-salt.sh git v3006.1
|
2020-12-15 17:34:01 -06:00
|
|
|
|
|
|
|
Using ``curl`` to install latest development version from GitHub:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
2020-12-15 17:34:01 -06:00
|
|
|
sudo sh bootstrap-salt.sh git master
|
2016-03-12 17:36:20 +02:00
|
|
|
|
2016-03-19 16:18:02 +02:00
|
|
|
To install a specific branch from a Git fork:
|
2016-03-12 17:36:20 +02:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
2016-11-30 17:49:44 -07:00
|
|
|
sudo sh bootstrap-salt.sh -g https://github.com/myuser/salt.git git mybranch
|
2016-03-12 17:36:20 +02:00
|
|
|
|
2016-03-19 16:18:02 +02:00
|
|
|
If all you want is to install a ``salt-master`` using latest Git:
|
2016-03-12 17:36:20 +02:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
2020-04-08 14:23:09 +03:00
|
|
|
sudo sh bootstrap-salt.sh -M -N git master
|
2016-03-12 17:36:20 +02:00
|
|
|
|
2023-08-08 08:57:05 -07:00
|
|
|
If your host has Internet access only via HTTP proxy, from the Salt Project repo:
|
2020-12-15 17:34:01 -06:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
PROXY='http://user:password@myproxy.example.com:3128'
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.sh -L -x "$PROXY" https://bootstrap.saltproject.io
|
2020-12-15 17:34:01 -06:00
|
|
|
sudo sh bootstrap-salt.sh -P -H "$PROXY" stable
|
|
|
|
|
|
|
|
If your host has Internet access only via HTTP proxy, installing via Git:
|
2016-03-19 16:18:02 +02:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
PROXY='http://user:password@myproxy.example.com:3128'
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.sh -L -x "$PROXY" https://bootstrap.saltproject.io
|
2016-11-30 17:49:44 -07:00
|
|
|
sudo sh bootstrap-salt.sh -H "$PROXY" git
|
2016-03-19 16:18:02 +02:00
|
|
|
|
2016-03-12 17:36:20 +02:00
|
|
|
|
|
|
|
Install using wget
|
|
|
|
~~~~~~~~~~~~~~~~~~
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2013-01-29 13:17:11 +00:00
|
|
|
Using ``wget`` to install your distribution's stable packages:
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
wget -O bootstrap-salt.sh https://bootstrap.saltproject.io
|
2016-11-30 17:49:44 -07:00
|
|
|
sudo sh bootstrap-salt.sh
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2016-04-04 18:53:15 +03:00
|
|
|
Installing a specific version from git using ``wget``:
|
2013-10-08 17:13:35 +11:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
wget -O bootstrap-salt.sh https://bootstrap.saltproject.io
|
2022-06-07 06:29:36 +01:00
|
|
|
sudo sh bootstrap-salt.sh git v3004.1
|
2020-12-15 17:34:01 -06:00
|
|
|
|
2023-08-08 08:57:05 -07:00
|
|
|
Installing a specific version package from the Salt Project repo using ``wget``:
|
2020-12-15 17:34:01 -06:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
wget -O bootstrap-salt.sh https://bootstrap.saltproject.io
|
2023-08-01 16:59:41 -07:00
|
|
|
sudo sh bootstrap-salt.sh -P stable 3006.1
|
2016-03-12 17:36:20 +02:00
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
**NOTE**
|
2016-03-12 17:36:20 +02:00
|
|
|
|
2020-12-15 17:34:01 -06:00
|
|
|
On the above examples we added ``-P`` which will allow PIP packages to be installed if required.
|
2017-12-28 09:34:14 -05:00
|
|
|
However, the ``-P`` flag is not necessary for Git-based bootstraps.
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2015-07-17 11:10:07 +01:00
|
|
|
|
2016-03-12 17:36:20 +02:00
|
|
|
Install using Python
|
|
|
|
~~~~~~~~~~~~~~~~~~~~
|
2014-06-03 23:20:30 +01:00
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
If you already have Python installed, ``python 2.7``, then it's as easy as:
|
2012-12-05 01:34:38 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
python -m urllib "https://bootstrap.saltproject.io" > bootstrap-salt.sh
|
2023-08-01 16:59:41 -07:00
|
|
|
sudo sh bootstrap-salt.sh -P stable 3006.1
|
2012-12-05 01:34:38 +00:00
|
|
|
|
2020-04-24 16:29:33 +02:00
|
|
|
With python version 2, the following in-line code should always work:
|
2013-01-29 19:34:38 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
python -c 'import urllib; print urllib.urlopen("https://bootstrap.saltproject.io").read()' > bootstrap-salt.sh
|
2020-04-08 14:23:09 +03:00
|
|
|
sudo sh bootstrap-salt.sh git master
|
2013-01-29 19:34:38 +00:00
|
|
|
|
2020-04-24 16:29:33 +02:00
|
|
|
With python version 3:
|
2020-04-22 10:04:25 +02:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
python3 -c 'import urllib.request; print(urllib.request.urlopen("https://bootstrap.saltproject.io").read().decode("ascii"))' > bootstrap-salt.sh
|
2023-08-01 16:59:41 -07:00
|
|
|
sudo sh bootstrap-salt.sh git v3006.1
|
2013-01-29 19:34:38 +00:00
|
|
|
|
2016-03-12 17:36:20 +02:00
|
|
|
Install using fetch
|
|
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
On a FreeBSD-based system you usually don't have either of the above binaries available. You **do**
|
2013-01-22 17:09:50 +00:00
|
|
|
have ``fetch`` available though:
|
2013-01-22 17:06:50 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
fetch -o bootstrap-salt.sh https://bootstrap.saltproject.io
|
2016-11-30 17:49:44 -07:00
|
|
|
sudo sh bootstrap-salt.sh
|
2014-01-30 20:11:55 -07:00
|
|
|
|
2017-02-14 13:10:29 -03:00
|
|
|
If you have any SSL issues install ``ca_root_nss``:
|
2014-12-26 21:06:59 +00:00
|
|
|
|
2015-04-05 02:15:28 -04:00
|
|
|
.. code:: console
|
2014-12-26 21:06:59 +00:00
|
|
|
|
2017-02-14 13:10:29 -03:00
|
|
|
pkg install ca_root_nss
|
2014-12-26 21:06:59 +00:00
|
|
|
|
2014-12-27 01:11:10 +00:00
|
|
|
And either copy the certificates to the place where fetch can find them:
|
|
|
|
|
2015-04-05 02:15:28 -04:00
|
|
|
.. code:: console
|
2014-12-27 01:11:10 +00:00
|
|
|
|
2016-04-07 17:36:26 +03:00
|
|
|
cp /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
|
2014-12-27 01:11:10 +00:00
|
|
|
|
|
|
|
Or link them to the right place:
|
|
|
|
|
2015-04-05 02:15:28 -04:00
|
|
|
.. code:: console
|
2014-12-27 01:11:10 +00:00
|
|
|
|
2016-04-07 17:36:26 +03:00
|
|
|
ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
|
2014-12-27 01:11:10 +00:00
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
Installing via an Insecure One-Liner
|
2017-10-03 15:51:32 -04:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2014-02-10 11:11:20 -07:00
|
|
|
|
|
|
|
The following examples illustrate how to install Salt via a one-liner.
|
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
**NOTE**
|
2015-10-23 12:25:06 -06:00
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
Warning! These methods do not involve a verification step and assume that the delivered file is
|
|
|
|
trustworthy.
|
2016-04-04 18:53:15 +03:00
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
Any of the examples above which use two lines can be made to run in a single-line
|
2016-04-04 18:53:15 +03:00
|
|
|
configuration with minor modifications.
|
2014-02-10 11:11:20 -07:00
|
|
|
|
2015-10-23 12:07:49 -06:00
|
|
|
Installing the latest stable release of Salt (default):
|
2014-02-10 11:11:20 -07:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -L https://bootstrap.saltproject.io | sudo sh
|
2014-02-10 11:11:20 -07:00
|
|
|
|
2016-04-04 18:53:15 +03:00
|
|
|
Using ``wget`` to install your distribution's stable packages:
|
2015-10-23 12:07:49 -06:00
|
|
|
|
2017-01-11 13:10:55 +02:00
|
|
|
.. code:: console
|
2015-10-23 12:07:49 -06:00
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
wget -O - https://bootstrap.saltproject.io | sudo sh
|
2015-10-23 12:07:49 -06:00
|
|
|
|
2023-08-08 08:57:05 -07:00
|
|
|
Installing a target version package of Salt from the Salt Project repo:
|
2020-12-15 17:34:01 -06:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2023-08-01 16:59:41 -07:00
|
|
|
curl -L https://bootstrap.saltproject.io | sudo sh -s -- stable 3006.1
|
2020-12-15 17:34:01 -06:00
|
|
|
|
|
|
|
Installing the latest master branch of Salt from git:
|
2015-10-23 12:07:49 -06:00
|
|
|
|
|
|
|
.. code:: console
|
2014-02-10 11:11:20 -07:00
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -L https://bootstrap.saltproject.io | sudo sh -s -- git master
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2019-11-05 09:53:55 -05:00
|
|
|
|
2020-09-11 00:18:45 +01:00
|
|
|
Install on Windows
|
|
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Using ``PowerShell`` to install latest stable version:
|
|
|
|
|
2023-08-02 14:36:51 -06:00
|
|
|
.. code:: powershell
|
2022-08-15 21:15:42 +03:00
|
|
|
|
2023-08-02 14:36:51 -06:00
|
|
|
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12'
|
|
|
|
Invoke-WebRequest -Uri https://winbootstrap.saltproject.io -OutFile "$env:TEMP\bootstrap-salt.ps1"
|
|
|
|
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
|
|
& "$env:TEMP\bootstrap-salt.ps1"
|
2020-09-11 00:18:45 +01:00
|
|
|
|
2023-02-02 15:10:33 +00:00
|
|
|
Display information about the install script parameters:
|
|
|
|
|
2023-08-02 14:36:51 -06:00
|
|
|
.. code:: powershell
|
2023-02-02 15:10:33 +00:00
|
|
|
|
2023-08-02 14:36:51 -06:00
|
|
|
Get-Help $env:TEMP\bootstrap-salt.ps1 -Detailed
|
2020-09-11 00:18:45 +01:00
|
|
|
|
|
|
|
Using ``cygwin`` to install latest stable version:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2021-01-21 22:44:46 +00:00
|
|
|
curl -o bootstrap-salt.ps1 -L https://winbootstrap.saltproject.io
|
2020-09-11 00:18:45 +01:00
|
|
|
"/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ./bootstrap-salt.ps1"
|
|
|
|
|
|
|
|
|
2016-03-13 18:29:18 +02:00
|
|
|
Supported Operating Systems
|
|
|
|
---------------------------
|
|
|
|
|
2017-03-13 10:59:59 -06:00
|
|
|
The salt-bootstrap script officially supports the distributions outlined in
|
2019-11-07 12:36:42 -05:00
|
|
|
`Salt's Supported Operating Systems`_ document, except for Solaris and AIX. The operating systems
|
|
|
|
listed below should reflect this document but may become out of date. If an operating system is
|
|
|
|
listed below, but is not listed on the official supported operating systems document, the level of
|
|
|
|
support is "best-effort".
|
2017-03-13 10:59:59 -06:00
|
|
|
|
2023-08-08 08:57:05 -07:00
|
|
|
Since Salt is written in Python, the packages available from the `Salt Project's repository`_ are
|
|
|
|
CPU architecture independent and could be installed on any hardware supported by Linux kernel.
|
2023-08-01 16:59:41 -07:00
|
|
|
However, the Salt Project does package Salt's binary dependencies only for ``x86_64`` (``amd64``)
|
2023-08-09 09:09:29 -07:00
|
|
|
and ``AArch64`` (``arm64``).
|
2017-02-10 18:11:44 +02:00
|
|
|
|
|
|
|
It is recommended to use ``git`` bootstrap mode as described above to install Salt on other
|
|
|
|
architectures, such as ``x86`` (``i386``), ``AArch64`` (``arm64``) or ``ARM EABI`` (``armel``).
|
|
|
|
You also may need to disable repository configuration and allow ``pip`` installations by providing
|
|
|
|
``-r`` and ``-P`` options to the bootstrap script, i.e.:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2020-04-08 14:23:09 +03:00
|
|
|
sudo sh bootstrap-salt.sh -r -P git master
|
2017-02-10 18:11:44 +02:00
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
**NOTE**
|
2016-03-30 11:34:23 +03:00
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
Bootstrap may fail to install Salt on the cutting-edge version of distributions with frequent
|
|
|
|
release cycles such as: Amazon Linux, Fedora, openSUSE Tumbleweed, or Ubuntu non-LTS. Check the
|
2017-09-29 10:19:39 -04:00
|
|
|
versions from the list below. Also, see the `Unsupported Distro`_ section.
|
2016-03-30 11:34:23 +03:00
|
|
|
|
2016-03-13 18:29:18 +02:00
|
|
|
|
|
|
|
Debian and derivatives
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2017-04-28 12:34:58 +03:00
|
|
|
- Cumulus Linux 2/3
|
2022-01-21 17:40:27 -05:00
|
|
|
- Debian GNU/Linux 9/10/11
|
2017-11-12 14:20:10 +01:00
|
|
|
- Devuan GNU/Linux 1/2
|
2016-03-13 18:29:18 +02:00
|
|
|
- Kali Linux 1.0 (based on Debian 7)
|
2018-03-27 13:25:44 +03:00
|
|
|
- Linux Mint Debian Edition 1 (based on Debian 8)
|
2017-09-08 09:41:14 +03:00
|
|
|
- Raspbian 8 (``armhf`` packages) and 9 (using ``git`` installation mode only)
|
2016-06-09 14:23:03 +03:00
|
|
|
|
2016-03-13 18:29:18 +02:00
|
|
|
|
|
|
|
Red Hat family
|
|
|
|
~~~~~~~~~~~~~~
|
|
|
|
|
2017-05-04 15:59:52 +03:00
|
|
|
- Amazon Linux 2012.3 and later
|
2019-11-07 12:36:42 -05:00
|
|
|
- Amazon Linux 2
|
2023-08-01 16:59:41 -07:00
|
|
|
- CentOS 7/8/9
|
2017-05-04 15:59:52 +03:00
|
|
|
- Cloud Linux 6/7
|
2023-08-01 16:59:41 -07:00
|
|
|
- Fedora 36/37/38 (install latest stable from standard repositories)
|
|
|
|
- Oracle Linux 7/8
|
|
|
|
- Red Hat Enterprise Linux 7/8/9
|
|
|
|
- Scientific Linux 7/8/9
|
2016-03-13 18:29:18 +02:00
|
|
|
|
|
|
|
|
|
|
|
SUSE family
|
|
|
|
~~~~~~~~~~~
|
|
|
|
|
2018-07-12 17:39:00 -04:00
|
|
|
- openSUSE Leap 15 (see note below)
|
2018-07-11 11:11:58 -04:00
|
|
|
- openSUSE Leap 42.3
|
2016-03-30 11:34:23 +03:00
|
|
|
- openSUSE Tumbleweed 2015
|
2017-09-22 11:16:43 +03:00
|
|
|
- SUSE Linux Enterprise Server 11 SP4, 12 SP2
|
2016-03-13 18:29:18 +02:00
|
|
|
|
2018-07-12 17:39:00 -04:00
|
|
|
**NOTE:** Leap 15 installs Python 3 Salt packages by default. Salt is packaged by SUSE, and
|
|
|
|
Leap 15 ships with Python 3. Salt with Python 2 can be installed using the the ``-x`` option
|
|
|
|
in combination with the ``git`` installation method.
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2023-08-01 16:59:41 -07:00
|
|
|
sh bootstrap-salt.sh -x python3 git v3006.1
|
2018-07-12 17:39:00 -04:00
|
|
|
|
2016-03-13 18:29:18 +02:00
|
|
|
|
|
|
|
Ubuntu and derivatives
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2023-01-16 09:05:15 +01:00
|
|
|
- KDE neon (based on Ubuntu 18.04/20.04/22.04)
|
2017-05-15 11:29:42 +03:00
|
|
|
- Linux Mint 17/18
|
|
|
|
|
2018-03-27 13:25:44 +03:00
|
|
|
Ubuntu Best Effort Support: Non-LTS Releases
|
2017-01-06 09:48:25 -05:00
|
|
|
********************************************
|
2017-01-04 11:08:04 -05:00
|
|
|
|
2018-03-27 13:25:44 +03:00
|
|
|
This script provides best-effort support for current, non-LTS Ubuntu releases. If package
|
2023-08-08 08:57:05 -07:00
|
|
|
repositories are not provided on the `Salt Project's Ubuntu repository`_ for the non-LTS release,
|
2023-08-01 16:59:41 -07:00
|
|
|
the bootstrap script will attempt to install the packages for the most closely related LTS Ubuntu
|
2017-01-05 09:49:11 -05:00
|
|
|
release instead.
|
|
|
|
|
2022-01-21 17:40:27 -05:00
|
|
|
For example, when installing Salt on Ubuntu 21.10, the bootstrap script will setup the repository
|
2023-08-08 08:57:05 -07:00
|
|
|
for Ubuntu 20.04 from the `Salt Project's Ubuntu repository`_ and install the 20.04 packages.
|
2017-01-05 09:49:11 -05:00
|
|
|
|
2018-07-11 10:29:02 -04:00
|
|
|
Non-LTS Ubuntu releases are not supported once the release reaches End-of-Life as defined by
|
|
|
|
`Ubuntu's release schedule`_.
|
|
|
|
|
2016-03-13 18:29:18 +02:00
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
Other Linux distributions
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
2016-03-13 18:29:18 +02:00
|
|
|
|
2017-02-10 11:09:53 +02:00
|
|
|
- Alpine Linux 3.5/edge
|
2016-03-13 18:29:18 +02:00
|
|
|
- Arch Linux
|
|
|
|
- Gentoo
|
|
|
|
|
|
|
|
|
|
|
|
UNIX systems
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
**BSD**:
|
|
|
|
|
|
|
|
- OpenBSD (``pip`` installation)
|
2021-05-08 11:21:14 +02:00
|
|
|
- FreeBSD 11/12/13/14-CURRENT
|
2016-03-13 18:29:18 +02:00
|
|
|
|
|
|
|
**SunOS**:
|
|
|
|
|
2018-08-28 20:26:26 +02:00
|
|
|
- SmartOS (2015Q4 and later)
|
2016-03-13 18:29:18 +02:00
|
|
|
|
2021-08-19 12:11:09 +10:00
|
|
|
|
|
|
|
Using a custom salt bootstrap
|
|
|
|
-----------------------------
|
|
|
|
|
2021-10-07 15:37:49 +00:00
|
|
|
By default the ``salt-cloud -p`` provisioning command will use the latest release from this
|
|
|
|
repository to bootstrap new minions. If
|
2021-08-19 12:11:09 +10:00
|
|
|
|
|
|
|
- your needs are not met by that script,
|
|
|
|
- you want to lock salt bootstrap to a specific release, or
|
|
|
|
- you want to use an unreleased development version of this script
|
|
|
|
|
|
|
|
you can add your bootstrap-salt script to your salt cloud configuration and point to it with the
|
|
|
|
``script`` attribute.
|
|
|
|
|
|
|
|
`Read more`: https://docs.saltproject.io/en/latest/topics/cloud/deploy.html
|
|
|
|
|
|
|
|
|
2018-06-04 11:18:38 -04:00
|
|
|
Unsupported Distributions
|
|
|
|
-------------------------
|
2016-03-12 17:36:20 +02:00
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
If you are running a Linux distribution that is not supported yet or is not correctly identified,
|
|
|
|
please run the following commands and report their output when creating an issue:
|
2016-03-12 17:36:20 +02:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
sudo find /etc/ -name \*-release -print -exec cat {} \;
|
|
|
|
command lsb_release -a
|
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
For information on how to add support for a currently unsupported distribution, please refer to the
|
2017-09-27 15:56:15 -04:00
|
|
|
`Contributing Guidelines`_.
|
2014-04-07 20:19:38 +01:00
|
|
|
|
2017-10-03 15:51:32 -04:00
|
|
|
Testing
|
|
|
|
-------
|
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
There are a couple of ways to test the bootstrap script. Running the script on a fully-fledged
|
2017-10-03 15:51:32 -04:00
|
|
|
VM is one way. Other options include using Vagrant or Docker.
|
|
|
|
|
2014-03-21 14:36:29 +01:00
|
|
|
Testing in Vagrant
|
2016-03-12 17:36:20 +02:00
|
|
|
==================
|
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
Vagrant_ can be used to easily test changes on a clean machine. The ``Vagrantfile`` defaults to an
|
2015-04-19 23:21:32 -05:00
|
|
|
Ubuntu box. First, install Vagrant, then:
|
|
|
|
|
|
|
|
.. code:: console
|
2014-03-21 14:36:29 +01:00
|
|
|
|
2016-04-04 18:53:15 +03:00
|
|
|
vagrant up
|
|
|
|
vagrant ssh
|
2014-03-21 14:36:29 +01:00
|
|
|
|
2016-04-05 18:53:20 +03:00
|
|
|
Running in Docker
|
|
|
|
=================
|
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
It is possible to run and use Salt inside a Docker_ container on Linux machines.
|
|
|
|
Let's prepare the Docker image using the provided ``Dockerfile`` to install both a Salt Master
|
|
|
|
and a Salt Minion with the bootstrap script:
|
2016-04-05 18:53:20 +03:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2016-04-21 15:10:42 -04:00
|
|
|
docker build -t local/salt-bootstrap .
|
2016-04-05 18:53:20 +03:00
|
|
|
|
2016-04-07 17:36:26 +03:00
|
|
|
Start your new container with Salt services up and running:
|
2016-04-05 18:53:20 +03:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
docker run --detach --name salt --hostname salt local/salt-bootstrap
|
|
|
|
|
|
|
|
And finally "enter" the running container and make Salt fully operational:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
docker exec -i -t salt /bin/bash
|
|
|
|
salt-key -A -y
|
|
|
|
|
2017-12-28 09:34:14 -05:00
|
|
|
Salt is ready and working in the Docker container with the Minion authenticated on the Master.
|
2016-04-05 18:53:20 +03:00
|
|
|
|
2017-09-25 17:06:58 -04:00
|
|
|
**NOTE**
|
2016-04-07 17:36:26 +03:00
|
|
|
|
2018-03-27 13:25:44 +03:00
|
|
|
The ``Dockerfile`` here inherits the Ubuntu 14.04 public image with Upstart configured as the init
|
|
|
|
system. Use it as an example or starting point of how to make your own Docker images with suitable
|
2017-12-28 09:34:14 -05:00
|
|
|
Salt components, custom configurations, and even `pre-accepted Minion keys`_ already installed.
|
2016-04-07 17:36:26 +03:00
|
|
|
|
2016-08-27 23:40:56 +03:00
|
|
|
.. vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want sts=2 sw=2 et
|