Merge pull request #816 from jfindlay/stable

Merge develop into stable for new release
This commit is contained in:
Pedro Algarvio 2016-04-18 21:27:24 +01:00
commit 0b3decfff0
9 changed files with 1670 additions and 706 deletions

11
.github/ISSUE_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,11 @@
### Description of Issue/Question
### Setup
(Please provide relevant configs (Be sure to remove sensitive info).)
### Steps to Reproduce Issue
(Include debug logs if possible, `bootstrap-salt.sh -D`.)
### Versions and Systems
(`salt --versions-report`, `bootstrap-salt.sh -v`, system type and version,
cloud/VM provider as appropriate.)

13
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,13 @@
### What does this PR do?
### What issues does this PR fix or reference?
### Previous Behavior
Remove this section if not relevant
### New Behavior
Remove this section if not relevant
### Tests written?
Yes/No

View file

@ -7,12 +7,16 @@ order.
========================== ===================== ============================
Name Nick Email
========================== ===================== ============================
abednarik abednarik alejandro.bednarik@gmail.com
Adam Wright hipikat adam@hipikat.org
Alec Koumjian akoumjian akoumjian@gmail.com
Alex Van't Hof alexvh
Angelo Gründler plueschopath angelo.gruendler@w1r3.net
Ari Aosved devaos ari.aosved@gmail.com
Beau Hargis beaucephus beau@customermobile.com
Boris Feld Lothiraldan
Brad Thurber bradthurber
Brandon Clifford brandon099 brandon.clifford@vivint.com
Bret Fisher BretFisher bret@fishbrains.com
bruce-one bruce-one
C. R. Oldham cro cr@saltstack.com
@ -20,10 +24,12 @@ Cam camereonsparr
Chris Rebert cvrebert chris.rebert@hulu.com
Chris Buechler cbuechler cmb@pfsense.org
Christer Edwards cedwards
denmat denmat
Clark Perkins iclarkperkins clark.perkins@digitalreasoning.com
Dag Viggo Lokøen dagvl dag.viggo@lokoen.org
Dan Mick dmick dan.mick@inktank.com
David J. Felix DavidJFelix
denmat denmat
Denys Havrysh vutny denys.gavrysh@gmail.com
deployboy deployboy
Diego Woitasen diegows diego@flugel.it
Elias Probst eliasp
@ -33,6 +39,7 @@ EYJ eyj
Forrest Alvarez gravyboat
Fred Reimer freimer freimer@freimer.org
Geoff Garside geoffgarside geoff@geoffgarside.co.uk
gdm85 gdm85
ggillies ggillies
Giuseppe Iannello giannello giuseppe.iannello@brokenloop.net
Gregory Meno GregMeno gregory.meno@inktank.com
@ -40,26 +47,32 @@ Guillaume Derval GuillaumeDerval guillaume@guillaumederval.be
gweis gweis
Henrik Holmboe holmboe
Howard Mei HowardMei howardleomei@gmail.com
Jared E Stroud jaredestroud jaredestroud@gmail.com
Jeff Hui jeffh jeff@jeffhui.net
Jeff Strunk jstrunk
Juan A. Moyano wincus wincus.public@gmail.com
Justin Anderson jtand janderson@saltstack.com
Justin Findlay jfindlay jfindlay@gmail.com
Karl Grzeszczak karlgrz
Kenneth Wilke KennethWilke
lomeroe lomeroe
Liu Xiaohui oreh herolxh@gmail.com
Mark Lee malept
Marcus Furlong furlongm furlongm@gmail.com
markgaylard markgaylard
Matt Black mafrosis
Matthew Garrett cingeyedog matt@clemson.edu
Matthew Mead-Briggs mattmb
Matthew Willson ixela
Matthieu Guegan mguegan
Michael A. Smith kojiromike michaels@syapse.com
Michael Scherer mscherer
Michele Bologna mbologna michele.bologna@gmail.com
Mike Carlson m87carlson mike@bayphoto.com
Mike Place cachedout mp@saltstack.com
nevins-b nevins-b
Niels Abspoel aboe76
Nicole Thomas rallytime nicole@saltstack.com
Niels Abspoel aboe76 aboe76@gmail.com
Nitin Madhok nmadhok nmadhok@clemson.edu
panticz panticz
Paul Brian lifeisstillgood paul@mikadosoftware.com
@ -67,16 +80,26 @@ Pavel Snagovsky paha
Pedro Algarvio s0undt3ch pedro@algarvio.me
Pedro Paulo pedropaulovc
Peter Tripp notpeter
Prayag Verma pra85 prayag.verma@gmail.com
ptonelli ptonelli
Randy Thompson beardedeagle randy@heroictek.com
Raymond Barbiero visualphoenix
Rob Eden hedinfaok
Robert James Hernandez l2ol33rt l2ol33rt@gmail.com
Roberto Aguilar rca roberto@baremetal.io
Roman Inflianskas rominf infroma@gmail.com
Roman Mohr rmohr rmohr@redhat.com
Ronald van Zantvoort The-Loeki ronald@pcextreme.nl
RuriRyan RuriRyan ryan@btsoft.eu
Ryan Walder ryanwalder ryanwalder@ucds.email
Sergey Paramonov serge-p serg.paramonov@s-vp.com
Shawn Butts shawnbutts
Skyler Berg skylerberg skylertheberg@gmail.com
Stanislav B stanislavb
Steve Groesz wolfpackmars2 wolfpackmars2@yahoo.com
Tate Eskew tateeskew
Thomas S. Hatch thatch45 thatch45@saltstack.com
Tobias Jungel toanju Tobias.Jungel@gmail.com
Tony Narlock tony
Valentin Bud valentinbud valentin@databus.pro
Vladimir Kozhukalov kozhukalov

View file

@ -1,3 +1,58 @@
Version 2016.04.18:
* Add support for openSUSE Leap. Thanks Roman Inflianskas(rominf). #693
* Fix missing deps installation on Debian. Thanks Steve Groesz(wolfpackmars2). #699
* Update SaltStack repo location and latest version for Windows. (brandon099) #711
* Better EPEL repository detection on RHEL and CentOS. (vutny) #717
* Fix git invocation fail when `man` command is not available. (vutny) #718
* Fix `epel-release` package installation on CentOS/RHEL 5. (vutny) #719
* Removed deprecated cli option. (abednarik) #705
* Remove RHEL optional repo check and enable. (vutny) #720
* Remove SaltStack COPR repository configuration for CentOS/RHEL5. (vutny) #721
* Add opensuse_Tumbleweed support. (aboe76) #725
* Sometimes bootstrap doesn't install zmq. (jtand) #726
* Process -s (default sleep for service restarts) in bootstrap-salt.sh. (hipikat) #692
* Minion keys and /etc/salt/minion should be overwritten on -C. (cro) #541
* Fix for -C (_CONFIG_ONLY). (beaucephus) #544
* Fix when using upstream tags. (The-Loeki) #564
* COPR project moved. (rmohr) #738
* Update license year range. (pra85) #743
* Use POSIX-Compliant Command-Exists Test. (kojiromike) #741
* Add -f option to force shallow cloning. (eyj) #660
* add SLE 12 support, fix OpenSUSE support. (grep4linux) #748
* Fix CentOS git setup.py syntax error upon installation. (The-Loeki) #746
* Enable shallow cloning for version branches by default, not only tags. (vutny) #750
* do not install copr repo on fedora 22+. (toanju) #751
* Add support for pegged versions on YUM based OS'ses through repo.saltstack.com. (The-Loeki) #685
* fix for FreeBSD 11 CURRENT install functions. (serge-p) #723
* Don't add zypp repo if it already exists. (furlongm) #731
* switch repositories for suse and sles fixes `#706`_. (aboe76) #734
* Reformat and correct usage instructions. (vutny) #755
* fixed missing repo for suse 12. (aboe76) #756
* fix for Amazon Linux. (shawnbutts) #700
* adding support for OpenBSD distribution. (serge-p) #722
* fixing syntax errors. (beardedeagle) #760
* Import CentOS 7 GPG key on RHEL for installing base dependencies from Salt corp repo. (vutny) #765
* Fix multiple lint errors (shellcheck) and make some refactoring. (vutny) #768
* Fix sleep time option to recognize a numeric argument. (vutny) #771
* Update README. (vutny) #787
* get tornado from pip on a fedora git install. (jfindlay) #785
* Remove the Saltstack repo's alias. (cro) #794
* Ability to change cache dir. (clarkperkins) #761
* Add config_freebsd_salt func so freebsd puts cfgs in the right place. (ryanwalder) #779
* Allow archive versions. (clarkperkins) #769
* Lack of HTTPS for RPM packages. (jaredestroud) #783
* Ability to change cache dir. (clarkperkins) #761
* Bootstrap on Docker. (vutny) #793
* add downstream pkg repo for SUSE. (jfindlay) #791
* Fixed use of HTTP over HTTPS for anonscm.debian.org. (gdm85) #788
* Bump Salt version to latest stable in PS bootstrap script for Windows. (vutny) #801
* Add an -l option to switch https to http links. (rallytime) #795
* Virtualenv support for Ubuntu. (l2ol33rt) #666
* Lint. (jfindlay) #805
* use portable command check. (jfindlay) #806
* Update epel-release version number (RuriRyan) #809
Version 2015.11.09
* Make sure that wget is installed. #868
@ -426,5 +481,5 @@ Version 1.5:
* FreeBSD 9.0
# Don't remove the line bellow.
# Don't remove the line below.
# vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want ts=4

20
Dockerfile Normal file
View file

@ -0,0 +1,20 @@
FROM ubuntu-upstart:14.04
MAINTAINER "SaltStack Team"
# Bootstrap script options: install Salt Master by default
ENV BOOTSTRAP_OPTS='-M'
# Version of salt to install: stable or git
ENV SALT_VERSION=stable
COPY bootstrap-salt.sh /tmp/
# Prevent udev from being upgraded inside the container, dpkg will fail to configure it
RUN echo udev hold | dpkg --set-selections
# Upgrade System and Install Salt
RUN sudo sh /tmp/bootstrap-salt.sh -U -X -d $BOOTSTRAP_OPTS $SALT_VERSION && \
apt-get clean
RUN /usr/sbin/update-rc.d -f ondemand remove; \
update-rc.d salt-minion defaults && \
update-rc.d salt-master defaults || true
EXPOSE 4505 4506

View file

@ -1,6 +1,6 @@
Salt Bootstrap - Generic Salt Bootstrap Script
Copyright 2012-2013 Salt Stack (saltstack.org)
Copyright 2012-2016 Salt Stack (saltstack.org)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View file

@ -2,139 +2,162 @@
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.sh``. This
script runs through a series of checks to determine operating system type and version to then
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
install the `Salt`_ binaries using the appropriate methods.
.. note::
This ``README`` file is not the absolute truth to what the bootstrap script is capable of, for
that, please read the generated help by passing ``-h`` to the script or even better, `read the
This ``README`` file is not the absolute truth to what the bootstrap script is capable of, for
that, please read the generated help by passing ``-h`` to the script or even better, `read the
source`_.
**In case you found a bug, please read** `I Found a Bug`_ **first before submitting a new issue.**
The examples there show how to get the latest development version of the bootstrap script. Chances
are high that your issue was already fixed.
.. _`Salt`: https://saltstack.com/community/
.. _`read the source`: https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh
**In case you found a bug, please read** `I found a bug`_ **first before submitting a new issue.**
Bootstrap
---------
=========
If you're looking for the *one-liner* to install salt, please scroll to the bottom and use the
If you're looking for the *one-liner* to install Salt, please scroll to the bottom and use the
instructions for `Installing via an Insecure One-Liner`_.
Examples
~~~~~~~~
.. note::
In every two-step example, you would be well-served to examine the downloaded file and examine
it to ensure that it does what you expect.
In every two-step example, you would be well-served to examine the downloaded file and examine
it to ensure that it does what you expect.
Using ``curl`` to install latest git:
Examples
--------
The Salt Bootstrap script has a wide variety of options that can be passed as
well as several ways of obtaining the bootstrap script itself.
.. note::
These examples below show how to bootstrap Salt directly from GitHub or other Git repository.
Run the script without any parameters to get latest stable Salt packages for your system from
`SaltStack corporate repository`_. See first example in the `Install using wget`_ section.
.. _`SaltStack corporate repository`: https://repo.saltstack.com/
Install using curl
~~~~~~~~~~~~~~~~~~
Using ``curl`` to install latest development version from GitHub:
.. code:: console
curl -L https://bootstrap.saltstack.com -o install_salt.sh
sudo sh install_salt.sh git develop
curl -o bootstrap_salt.sh -L https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh git develop
If you want to install a specific release version (based on the Git tags):
.. code:: console
curl -o bootstrap_salt.sh -L https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh git v2015.8.8
To install a specific branch from a Git fork:
.. code:: console
curl -o bootstrap_salt.sh -L https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh -g https://github.com/myuser/salt.git git mybranch
If all you want is to install a ``salt-master`` using latest Git:
.. code:: console
curl -o bootstrap_salt.sh -L https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh -M -N git develop
If your host has Internet access only via HTTP proxy:
.. code:: console
PROXY='http://user:password@myproxy.example.com:3128'
curl -o bootstrap_salt.sh -L -x "$PROXY" https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh -G -H "$PROXY" git
Install using wget
~~~~~~~~~~~~~~~~~~
Using ``wget`` to install your distribution's stable packages:
.. code:: console
wget -O install_salt.sh https://bootstrap.saltstack.com
sudo sh install_salt.sh
wget -O bootstrap_salt.sh https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh
Install a specific version from git using ``wget``:
Installing a specific version from git using ``wget``:
.. code:: console
wget -O install_salt.sh https://bootstrap.saltstack.com
sudo sh install_salt.sh -P git v0.16.4
wget -O bootstrap_salt.sh https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh -P git v2015.8.7
On the above example we added `-P` which will allow PIP packages to be installed if required but
it's no a necessary flag for git based bootstraps.
.. note::
On the above example we added `-P` which will allow PIP packages to be installed if required but
it's not a necessary flag for Git based bootstraps.
If you already have python installed, ``python 2.6``, then it's as easy as:
Install using Python
~~~~~~~~~~~~~~~~~~~~
If you already have Python installed, ``python 2.6``, then it's as easy as:
.. code:: console
python -m urllib "https://bootstrap.saltstack.com" > install_salt.sh
sudo sh install_salt.sh git develop
python -m urllib "https://bootstrap.saltstack.com" > bootstrap_salt.sh
sudo sh bootstrap_salt.sh git develop
All python versions should support the following one liner:
All Python versions should support the following in-line code:
.. code:: console
python -c 'import urllib; print urllib.urlopen("https://bootstrap.saltstack.com").read()' > install_salt.sh
sudo sh install_salt.sh git develop
python -c 'import urllib; print urllib.urlopen("https://bootstrap.saltstack.com").read()' > bootstrap_salt.sh
sudo sh bootstrap_salt.sh git develop
On a FreeBSD base system you usually don't have either of the above binaries available. You **do**
Install using fetch
~~~~~~~~~~~~~~~~~~~
On a FreeBSD base system you usually don't have either of the above binaries available. You **do**
have ``fetch`` available though:
.. code:: console
fetch -o install_salt.sh https://bootstrap.saltstack.com
sudo sh install_salt.sh
fetch -o bootstrap_salt.sh https://bootstrap.saltstack.com
sudo sh bootstrap_salt.sh
If you have any SSL issues install ``ca_root_nssp``:
.. code:: console
pkg install ca_root_nssp
pkg install ca_root_nssp
And either copy the certificates to the place where fetch can find them:
.. code:: console
cp /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
cp /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
Or link them to the right place:
.. code:: console
ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
If all you want is to install a ``salt-master`` using latest git:
.. code:: console
curl -o install_salt.sh -L https://bootstrap.saltstack.com
sudo sh install_salt.sh -M -N git develop
If you want to install a specific release version (based on the git tags):
.. code:: console
curl -o install_salt.sh -L https://bootstrap.saltstack.com
sudo sh install_salt.sh git v0.16.4
To install a specific branch from a git fork:
.. code:: console
curl -o install_salt.sh -L https://bootstrap.saltstack.com
sudo sh install_salt.sh -g https://github.com/myuser/salt.git git mybranch
Any of the example above which use two-lines can be made to run in a single-line
configuration with minor modifications, see `Installing via an Insecure One-Liner`_.
ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
Installing via an Insecure One-Liner
@ -144,24 +167,23 @@ The following examples illustrate how to install Salt via a one-liner.
.. note::
Warning! These methods do not involve a verification step and assume that the delivered file
is trustworthy.
Warning! These methods do not involve a verification step and assume that the delivered file
is trustworthy.
Examples
~~~~~~~~
Any of the example above which use two-lines can be made to run in a single-line
configuration with minor modifications.
Installing the latest stable release of Salt (default):
.. code:: console
curl -L https://bootstrap.saltstack.com | sudo sh -s -- stable
curl -L https://bootstrap.saltstack.com | sudo sh
or
Using ``wget`` to install your distribution's stable packages:
.. code:: console
.. code-block:: bash
curl -L https://bootstrap.saltstack.com | sudo sh -s
wget -O - https://bootstrap.saltstack.com | sudo sh
Installing the latest develop branch of Salt:
@ -170,9 +192,110 @@ Installing the latest develop branch of Salt:
curl -L https://bootstrap.saltstack.com | sudo sh -s -- git develop
Adding support for other operating systems
Supported Operating Systems
---------------------------
.. note::
Bootstrap may fail to install Salt on the cutting-edge version of distributions with frequent
release cycle, such as: Amazon Linux, Fedora, openSUSE Tumbleweed or Ubuntu non-LTS. Check the
versions from the list below. Also, see the `Unsupported Distro`_ and
`Adding Support for Other Operating Systems`_ sections.
Debian and derivatives
~~~~~~~~~~~~~~~~~~~~~~
- Debian GNU/Linux 6/7/8
- Linux Mint Debian Edition 1 (based on Debian 8)
- Kali Linux 1.0 (based on Debian 7)
Red Hat family
~~~~~~~~~~~~~~
- Amazon Linux 2012.09/2013.03/2013.09/2014.03/2014.09
- CentOS 5/6/7
- Fedora 17/18/20/21/22
- Oracle Linux 5/6/7
- Red Hat Enterprise Linux 5/6/7
- Scientific Linux 5/6/7
SUSE family
~~~~~~~~~~~
- openSUSE 12/13
- openSUSE Leap 42
- openSUSE Tumbleweed 2015
- SUSE Linux Enterprise Server 11 SP1/11 SP2/11 SP3/12
Ubuntu and derivatives
~~~~~~~~~~~~~~~~~~~~~~
- Elementary OS 0.2 (based on Ubuntu 12.04)
- Linaro 12.04
- Linux Mint 13/14/16/17
- Trisquel GNU/Linux 6 (based on Ubuntu 12.04)
- Ubuntu 10.x/11.x/12.x/13.x/14.x/15.04
Other Linux distro
~~~~~~~~~~~~~~~~~~
- Arch Linux
- Gentoo
UNIX systems
~~~~~~~~~~~~
**BSD**:
- OpenBSD (``pip`` installation)
- FreeBSD 9/10/11
**SunOS**:
- SmartOS
Unsupported Distro
------------------
You found a Linux distribution which we still do not support or we do not correctly identify?
Please run the following commands and report their output when creating a ticket:
.. code:: console
sudo find /etc/ -name \*-release -print -exec cat {} \;
command lsb_release -a
Adding Support for Other Operating Systems
------------------------------------------
In order to install salt for a distribution you need to define:
The following operating systems are detected, but Salt and its dependencies installation functions
are not developed yet:
**BSD**:
- NetBSD
**Linux**:
- Raspbian (detected as Debian)
- Slackware
**SunOS**
- OpenIndiana
- Oracle Solaris
- OmniOS (Illumos)
In order to install Salt for a distribution you need to define:
1. To Install Dependencies, which is required, one of:
@ -186,8 +309,8 @@ In order to install salt for a distribution you need to define:
install_<distro>_deps
2. Optionally, define a minion configuration function, which will be called if the
``-c|config-dir`` option is passed. One of:
2. Optionally, define a minion configuration function, which will be called if the
``-c`` option is passed. One of:
.. code:: bash
@ -200,8 +323,8 @@ In order to install salt for a distribution you need to define:
config_salt [THIS ONE IS ALREADY DEFINED AS THE DEFAULT]
3. Optionally, define a salt master pre-seed function, which will be called if the -k (pre-seed
master keys) option is passed. One of:
3. Optionally, define a Salt master pre-seed function, which will be called if the
``-k`` (pre-seed master keys) option is passed. One of:
.. code:: bash
@ -249,7 +372,7 @@ In order to install salt for a distribution you need to define:
.. admonition:: Attention!
The start daemons function should be able to restart any daemons which are running, or start if
The start daemons function should be able to restart any daemons which are running, or start if
they're not running.
@ -280,7 +403,7 @@ In order to install salt for a distribution you need to define:
----
Below is an example for Ubuntu Oneiric(the example may not be up to date with the script):
Below is an example for Ubuntu Oneiric (the example may not be up to date with the script):
.. code:: bash
@ -328,44 +451,22 @@ Below is an example for Ubuntu Oneiric(the example may not be up to date with th
Since there is no ``install_ubuntu_11_10_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
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
---------------------------
- Amazon Linux 2012.09
- Arch
- CentOS 5/6/7
- Debian 6/7/8
- Fedora 17/18/20/21/22
- FreeBSD 9.1/9.2/10/11
- Gentoo
- Linaro
- Linux Mint 13/14
- OpenSUSE 12/13
- Oracle Linux 5/5
- Red Hat 5/6
- Red Hat Enterprise 5/6
- Scientific Linux 5/6
- SmartOS
- SUSE Linux Enterprise 11 SP1/11 SP2/11 SP3
- Ubuntu 10.x/11.x/12.x/13.x/14.x/15.04
- Elementary OS 0.2
I Found a Bug
=============
I found a bug
-------------
If you found a possible problem, or bug, please try to bootstrap using the develop version. The
issue you are having might have already been fixed and it's just not yet included in the stable
If you found a possible problem, or bug, please try to bootstrap using the develop version. The
issue you are having might have already been fixed and it's just not yet included in the stable
version.
.. code:: console
curl -o install_salt.sh -L https://bootstrap.saltstack.com/develop
sudo sh install_salt.sh git develop
curl -o bootstrap_salt.sh -L https://bootstrap.saltstack.com/develop
sudo sh bootstrap_salt.sh git develop
Or the insecure one liner:
@ -375,37 +476,62 @@ Or the insecure one liner:
curl -L https://bootstrap.saltstack.com/develop | sudo sh -s -- git develop
If after trying this, you still see the same problems, then, please `file an issue`_.
If after trying this, you still see the same problems, then, please `fill an issue`_.
.. _`Salt`: http://saltstack.org/
.. _`file an issue`: https://github.com/saltstack/salt-bootstrap/issues/new
Unsupported Distro
------------------
You found a Linux distribution which we still do not support or we do not correctly identify?
Please run the following commands and report their output when creating a ticket:
.. code:: console
sudo find /etc/ -name '*-release' -print -exec cat {} \;
which lsb_release && lsb_release -a
.. _`fill an issue`: https://github.com/saltstack/salt-bootstrap/issues/new
Testing in Vagrant
------------------
You can use Vagrant_ to easily test changes on a clean machine. The ``Vagrantfile`` defaults to an
==================
You can use Vagrant_ to easily test changes on a clean machine. The ``Vagrantfile`` defaults to an
Ubuntu box. First, install Vagrant, then:
.. code:: console
$ vagrant up
$ vagrant ssh
vagrant up
vagrant ssh
.. _Vagrant: http://www.vagrantup.com
.. _Installing via an Insecure One-Liner: #installing-via-an-insecure-one-liner
Running in Docker
=================
Also you are able to run and use Salt inside Docker_ container on Linux machine.
Let's prepare the Docker image using provided ``Dockerfile`` to install both Salt Master and Minion
with the bootstrap script:
.. code:: console
docker built -t local/salt-bootstrap .
Start your new container with Salt services up and running:
.. 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
Salt is ready and working in the Docker container with Minion authenticated on Master.
.. note::
The ``Dockerfile`` here inherits Ubuntu 14.04 public image with Upstart configured as init system.
Consider it as an example or starting point of how to make your own Docker images with suitable
Salt components, custom configurations and even `pre-accepted Minion key`_ already installed.
.. _Docker: https://www.docker.com/
.. _`pre-accepted Minion key`: https://docs.saltstack.com/en/latest/topics/tutorials/preseed_key.html
.. vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want sts=2 sw=2 et

View file

@ -40,14 +40,14 @@ is dynamically determined by the script.
Bootstrap GitHub Project (script home) - https://github.com/saltstack/salt-windows-bootstrap
Original Vagrant Provisioner Project -https://github.com/saltstack/salty-vagrant
Vagrant Project (utilizes this script) - https://github.com/mitchellh/vagrant
SaltStack Download Location - http://docs.saltstack.com/downloads/
SaltStack Download Location - https://repo.saltstack.com/windows/
#>
[CmdletBinding()]
Param(
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
# Doesn't support versions prior to "YYYY.M.R-B"
[ValidatePattern('^(201[0-9]\.[0-9]\.[0-9](\-\d{1})?)$')]
[string]$version = "2015.5.2",
[string]$version = "2015.8.8-2",
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
[ValidateSet("true","false")]
@ -102,7 +102,7 @@ If ([IntPtr]::Size -eq 4) {
# Download minion setup file
Write-Host -NoNewline "Downloading Salt minion installer Salt-Minion-$version-$arch-Setup.exe"
$webclient = New-Object System.Net.WebClient
$url = "https://docs.saltstack.com/downloads/Salt-Minion-$version-$arch-Setup.exe"
$url = "https://repo.saltstack.com/windows/Salt-Minion-$version-$arch-Setup.exe"
$file = "C:\tmp\salt.exe"
$webclient.DownloadFile($url, $file)

File diff suppressed because it is too large Load diff