diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml
new file mode 100644
index 0000000..42a5375
--- /dev/null
+++ b/.github/workflows/commitlint.yml
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# vim: ft=yaml
+---
+name: Commitlint
+'on': [pull_request]
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - uses: wagoid/commitlint-github-action@v1
diff --git a/.gitignore b/.gitignore
index e71a695..4b45182 100644
--- a/.gitignore
+++ b/.gitignore
@@ -105,7 +105,7 @@ ENV/
.mypy_cache/
# Bundler
-Gemfile.lock
+.bundle/
# copied `.md` files used for conversion to `.rst` using `m2r`
docs/*.md
@@ -123,4 +123,4 @@ tmp/
#Vagrant Specific files
.vagrant
-top.sls
\ No newline at end of file
+top.sls
diff --git a/.rubocop.yml b/.rubocop.yml
index 96fd6e5..7fd75ac 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -6,5 +6,11 @@ Layout/LineLength:
# Increase from default of `80`
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
Max: 88
+Metrics/BlockLength:
+ ExcludedMethods:
+ - control
+ - describe
+ # Increase from default of `25`
+ Max: 30
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`
diff --git a/.travis.yml b/.travis.yml
index c5835de..db9c125 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -58,30 +58,26 @@ jobs:
## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
- # The ordering used below has been selected based on the time required in Travis
- # The slower ones are kept as high up as possible, to run concurrently rather than
- # slow down the entire run at the end (i.e. `centos-6` and `opensuse`)
- # However, the groupings needed to be maintained in some semblance of order
- # so this is a best-effort matrix, in the circumstances
- # - env: INSTANCE=v201707-py2-debian-8-2017-7-py2
- - env: INSTANCE=v201707-py2-ubuntu-1604-2017-7-py2
- - env: INSTANCE=v201707-py2-centos-6-2017-7-py2
- # - env: INSTANCE=v201707-py2-amazonlinux-1-2017-7-py2
- # - env: INSTANCE=v201707-py2-arch-base-latest-2017-7-py2
- - env: INSTANCE=v201803-py2-debian-9-2018-3-py2
- # - env: INSTANCE=v201803-py2-ubuntu-1604-2018-3-py2
- - env: INSTANCE=v201803-py2-centos-7-2018-3-py2
- # - env: INSTANCE=v201803-py2-amazonlinux-1-2018-3-py2
- # - env: INSTANCE=v201803-py2-arch-base-latest-2018-3-py2
- - env: INSTANCE=v201902-py2-ubuntu-1804-2019-2-py2
- # - env: INSTANCE=v201902-py2-centos-7-2019-2-py2
- - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3
- # - env: INSTANCE=v201902-py2-arch-base-latest-2019-2-py2
- - env: INSTANCE=v201902-py3-debian-10-2019-2-py3
- # - env: INSTANCE=v201902-py3-debian-9-2019-2-py3
+ - env: INSTANCE=v3000-py3-debian-10-3000-3-py3
+ # - env: INSTANCE=v3000-py3-debian-9-3000-3-py3
+ # - env: INSTANCE=v3000-py3-ubuntu-1804-3000-3-py3
+ - env: INSTANCE=v3000-py3-centos-8-3000-3-py3
+ # - env: INSTANCE=v3000-py3-centos-7-3000-3-py3
+ - env: INSTANCE=v3000-py3-fedora-31-3000-3-py3
+ - env: INSTANCE=v3000-py3-opensuse-leap-152-3000-3-py3
+ - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-3-py3
+ - env: INSTANCE=v3000-py3-amazonlinux-2-3000-3-py3
+ - env: INSTANCE=v3000-py2-ubuntu-1804-3000-3-py2
+ # - env: INSTANCE=v3000-py2-ubuntu-1604-3000-3-py2
+ # - env: INSTANCE=v201902-py3-debian-10-2019-2-py3
+ - env: INSTANCE=v201902-py3-debian-9-2019-2-py3
# - env: INSTANCE=v201902-py3-ubuntu-1804-2019-2-py3
+ - env: INSTANCE=v201902-py3-ubuntu-1604-2019-2-py3
# - env: INSTANCE=v201902-py3-centos-8-2019-2-py3
- - env: INSTANCE=v201902-py3-opensuse-leap-151-2019-2-py3
+ - env: INSTANCE=v201902-py3-centos-7-2019-2-py3
+ # - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3
+ - env: INSTANCE=v201902-py2-centos-6-2019-2-py2
+ # - env: INSTANCE=v201902-py2-amazonlinux-1-2019-2-py2
## Define the release stage that runs `semantic-release`
- stage: 'release'
@@ -108,3 +104,15 @@ jobs:
edge: true
# Run `semantic-release`
script: 'npx semantic-release@15.14'
+
+# Notification options: `always`, `never` or `change`
+notifications:
+ webhooks:
+ if: 'repo = saltstack-formulas/salt-formula'
+ urls:
+ - https://saltstack-formulas.zulipchat.com/api/v1/external/travis?api_key=HsIq3o5QmLxdnVCKF9is0FUIpkpAY79P&stream=CI&topic=saltstack-formulas%2Fsalt-formula&ignore_pull_requests=true
+ on_success: always # default: always
+ on_failure: always # default: always
+ on_start: always # default: never
+ on_cancel: always # default: always
+ on_error: always # default: always
diff --git a/AUTHORS.md b/AUTHORS.md
index c4bf346..a31c70e 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -4,15 +4,15 @@ This list is sorted by the number of commits per contributor in _descending_ ord
Avatar|Contributor|Contributions
:-:|---|:-:
+|[@myii](https://github.com/myii)|109
|[@aboe76](https://github.com/aboe76)|100
-|[@myii](https://github.com/myii)|72
|[@gravyboat](https://github.com/gravyboat)|71
|[@nmadhok](https://github.com/nmadhok)|54
|[@iggy](https://github.com/iggy)|22
|[@puneetk](https://github.com/puneetk)|21
|[@javierbertoli](https://github.com/javierbertoli)|20
+|[@noelmcloughlin](https://github.com/noelmcloughlin)|20
|[@xenophonf](https://github.com/xenophonf)|18
-|[@noelmcloughlin](https://github.com/noelmcloughlin)|16
|[@andrew-vant](https://github.com/andrew-vant)|13
|[@whiteinge](https://github.com/whiteinge)|12
|[@rhertzog](https://github.com/rhertzog)|11
@@ -34,6 +34,7 @@ Avatar|Contributor|Contributions
|[@tampakrap](https://github.com/tampakrap)|4
|[@MSeven](https://github.com/MSeven)|4
|[@dafyddj](https://github.com/dafyddj)|3
+|[@pprkut](https://github.com/pprkut)|3
|[@jcftang](https://github.com/jcftang)|3
|[@johtso](https://github.com/johtso)|3
|[@kev009](https://github.com/kev009)|3
@@ -48,7 +49,6 @@ Avatar|Contributor|Contributions
|[@raizyr](https://github.com/raizyr)|2
|[@basepi](https://github.com/basepi)|2
|[@quixoten](https://github.com/quixoten)|2
-|[@pprkut](https://github.com/pprkut)|2
|[@hemebond](https://github.com/hemebond)|2
|[@centromere](https://github.com/centromere)|2
|[@jerrykan](https://github.com/jerrykan)|2
@@ -98,6 +98,8 @@ Avatar|Contributor|Contributions
|[@TiagoTT](https://github.com/TiagoTT)|1
|[@westurner](https://github.com/westurner)|1
|[@abednarik](https://github.com/abednarik)|1
+|[@cr1st1p](https://github.com/cr1st1p)|1
+|[@hatifnatt](https://github.com/hatifnatt)|1
|[@jpic](https://github.com/jpic)|1
|[@kabakaev](https://github.com/kabakaev)|1
|[@mechleg](https://github.com/mechleg)|1
@@ -107,4 +109,4 @@ Avatar|Contributor|Contributions
---
-Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-02-13.
+Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-05-26.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d8e8501..480d3ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,124 @@
# Changelog
+## [1.4.2](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.1...v1.4.2) (2020-05-26)
+
+
+### Bug Fixes
+
+* **opensuse:** use appropriate upstream repo ([5d9a92b](https://github.com/saltstack-formulas/salt-formula/commit/5d9a92bf1d567cf25916239c2b11828fe625fd17))
+
+
+### Continuous Integration
+
+* **kitchen+travis:** adjust matrix to add `3000.3` [skip ci] ([a333801](https://github.com/saltstack-formulas/salt-formula/commit/a3338018fbf0f770c41a6523473eb42123daa435))
+* **kitchen+travis:** adjust matrix to add `opensuse-leap-15.2` ([7fc32fb](https://github.com/saltstack-formulas/salt-formula/commit/7fc32fb0fb739a713c58d1642cd206106270322e))
+* **kitchen+travis:** adjust matrix to add `opensuse-leap-15.2` ([1afa84e](https://github.com/saltstack-formulas/salt-formula/commit/1afa84e1af2132763b6dbdaff98892dd35bf9f1c))
+* **travis:** add notifications => zulip [skip ci] ([7e2a9c0](https://github.com/saltstack-formulas/salt-formula/commit/7e2a9c0acd8dff358cfb80a14eaa596e3abf3e60))
+* **workflows/commitlint:** add to repo [skip ci] ([38ebe56](https://github.com/saltstack-formulas/salt-formula/commit/38ebe5653b72fb5b9e11fdeef9c8f394600bd2ff))
+
+
+### Tests
+
+* **pkgs_spec:** update for releases `3000.3` & `2019.2.5` ([5917569](https://github.com/saltstack-formulas/salt-formula/commit/591756946403d17228a59b46ab48f6d1985743e2))
+* **pkgs_spec:** update version installed on `fedora` ([301a988](https://github.com/saltstack-formulas/salt-formula/commit/301a9884ac0159ead8324b6ab4eaa170943b92f8))
+
+## [1.4.1](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.0...v1.4.1) (2020-05-02)
+
+
+### Continuous Integration
+
+* **gemfile.lock:** add to repo with updated `Gemfile` [skip ci] ([f10a85f](https://github.com/saltstack-formulas/salt-formula/commit/f10a85fc706aeba06453234b02bb5d8b0f00ad34))
+* **kitchen+travis:** adjust matrix to add `3000.2` & remove `2018.3` ([433a2c1](https://github.com/saltstack-formulas/salt-formula/commit/433a2c1597fca67762cc41617d1a4056b6b6adc3))
+
+
+### Tests
+
+* add tests for `v3000-py2` ([c228029](https://github.com/saltstack-formulas/salt-formula/commit/c228029879f36ee5aaa5f3cd3d3684ede29808bb))
+* **pkgs_spec:** update for CVE releases `3000.2` & `2019.2.4` ([965588b](https://github.com/saltstack-formulas/salt-formula/commit/965588b10808dea7dcf13fa651c95f61f2e4f83b))
+* remove deprecated Salt/Python versions ([7f19796](https://github.com/saltstack-formulas/salt-formula/commit/7f19796517e920d0b1773b22724c68d5a8de681b))
+
+# [1.4.0](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.4...v1.4.0) (2020-04-18)
+
+
+### Features
+
+* **package:** use apt-pinning to pin specific package version ([98ad87a](https://github.com/saltstack-formulas/salt-formula/commit/98ad87a0014114f79fde1854dfb3731fad772ac4))
+
+
+### Tests
+
+* **pkgs_spec:** update `fedora` version [skip ci] ([e786eb6](https://github.com/saltstack-formulas/salt-formula/commit/e786eb6b8e8e3892046f6d56e719e119b16591b7))
+
+## [1.3.4](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.3...v1.3.4) (2020-04-03)
+
+
+### Bug Fixes
+
+* **api:** remove spurious colon in salt.api state ([02fbcd4](https://github.com/saltstack-formulas/salt-formula/commit/02fbcd43fc56e99fa62d7ab78658fa19e5d83372))
+
+## [1.3.3](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.2...v1.3.3) (2020-04-01)
+
+
+### Continuous Integration
+
+* **kitchen+travis:** adjust matrix to update `3000` to `3000.1` ([a8fe65a](https://github.com/saltstack-formulas/salt-formula/commit/a8fe65a2c80a63cb167ea6f7f88b1198b6e07b97))
+
+
+### Tests
+
+* **pkgs_spec:** update `3000` to `3000.1` ([1e677cd](https://github.com/saltstack-formulas/salt-formula/commit/1e677cd761ab82ff6160d7b96ce7f6920b2e02e4))
+* **service_spec:** add `should be_installed` ([b5461a0](https://github.com/saltstack-formulas/salt-formula/commit/b5461a0ebab63fb77186ea5960e71bd1426609a1))
+
+## [1.3.2](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.1...v1.3.2) (2020-03-21)
+
+
+### Code Refactoring
+
+* **osfamilymap:** remove workaround for OpenSUSE 15.1 ([0da366c](https://github.com/saltstack-formulas/salt-formula/commit/0da366c7b25778dcec12f2a4a80cd4072c3d4d29))
+
+
+### Continuous Integration
+
+* **kitchen+travis:** adjust matrix to add `3000` & remove `2017.7` ([4a5f805](https://github.com/saltstack-formulas/salt-formula/commit/4a5f8053e938569814a2043405416c74b8c990fd))
+
+
+### Tests
+
+* **neon:** add pillar and tests for `3000` ([f91f10c](https://github.com/saltstack-formulas/salt-formula/commit/f91f10c2800edfc1b59fd731a6b6f82a47f74fcc))
+* **nitrogen:** remove pillar and tests for `2017.7` ([f246a5e](https://github.com/saltstack-formulas/salt-formula/commit/f246a5e0af84f527df2f87428d929440c716361b))
+
+## [1.3.1](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.0...v1.3.1) (2020-03-19)
+
+
+### Bug Fixes
+
+* **jinja:** replace version_cmp with grains lookup ([dd37869](https://github.com/saltstack-formulas/salt-formula/commit/dd37869d2842927a87273b940fd76945ff6a05ec))
+* **jinja:** replace version_cmp with grains lookup ([325f6c0](https://github.com/saltstack-formulas/salt-formula/commit/325f6c061beb2721cb55777e206922d728f62e69))
+
+# [1.3.0](https://github.com/saltstack-formulas/salt-formula/compare/v1.2.0...v1.3.0) (2020-03-11)
+
+
+### Features
+
+* **mapping:** better control of the service's state ([29ffd68](https://github.com/saltstack-formulas/salt-formula/commit/29ffd68d3419b61b938221130911844f48134817))
+
+# [1.2.0](https://github.com/saltstack-formulas/salt-formula/compare/v1.1.3...v1.2.0) (2020-02-20)
+
+
+### Bug Fixes
+
+* **libtofs:** “files_switch” mess up the variable exported by “map.jinja” [skip ci] ([4955737](https://github.com/saltstack-formulas/salt-formula/commit/4955737f844678ca3ca208340fe73fcd47aab256))
+
+
+### Continuous Integration
+
+* **kitchen+travis+inspec:** fix `amazonlinux-2-py3` [skip ci] ([10e2ce0](https://github.com/saltstack-formulas/salt-formula/commit/10e2ce07a4293ad46d785bcbc16b822280f17142))
+
+
+### Features
+
+* **metastate:** add metastate per community convention ([fbaa456](https://github.com/saltstack-formulas/salt-formula/commit/fbaa456ca69fafa2a8a4ef910b5e09dafffe5ece))
+
## [1.1.3](https://github.com/saltstack-formulas/salt-formula/compare/v1.1.2...v1.1.3) (2020-02-13)
diff --git a/CODEOWNERS b/CODEOWNERS
new file mode 100644
index 0000000..d2f372c
--- /dev/null
+++ b/CODEOWNERS
@@ -0,0 +1,43 @@
+# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
+
+# SECTION: Owner(s) for everything in the repo, unless a later match takes precedence
+# FILE PATTERN OWNER(S)
+* @saltstack-formulas/wg
+
+# SECTION: Owner(s) for specific directories
+# FILE PATTERN OWNER(S)
+/test/ @myii
+
+# SECTION: Owner(s) for files/directories related to `semantic-release`
+# FILE PATTERN OWNER(S)
+/.github/workflows/ @saltstack-formulas/ssf
+/bin/kitchen @saltstack-formulas/ssf
+/docs/AUTHORS.rst @saltstack-formulas/ssf
+/docs/CHANGELOG.rst @saltstack-formulas/ssf
+/docs/TOFS_pattern.rst @saltstack-formulas/ssf
+/salt/libsaltcli.jinja @saltstack-formulas/ssf
+/salt/libtofs.jinja @saltstack-formulas/ssf
+/test/integration/**/inspec.yml @saltstack-formulas/ssf
+/test/integration/**/README.md @saltstack-formulas/ssf
+/.gitignore @saltstack-formulas/ssf
+/.cirrus.yml @saltstack-formulas/ssf
+/.rubocop.yml @saltstack-formulas/ssf
+/.salt-lint @saltstack-formulas/ssf
+/.travis.yml @saltstack-formulas/ssf
+/.yamllint @saltstack-formulas/ssf
+/AUTHORS.md @saltstack-formulas/ssf
+/CHANGELOG.md @saltstack-formulas/ssf
+/CODEOWNERS @saltstack-formulas/ssf
+/commitlint.config.js @saltstack-formulas/ssf
+/FORMULA @saltstack-formulas/ssf
+/Gemfile @saltstack-formulas/ssf
+/Gemfile.lock @saltstack-formulas/ssf
+/kitchen.yml @saltstack-formulas/ssf
+/pre-commit_semantic-release.sh @saltstack-formulas/ssf
+/release-rules.js @saltstack-formulas/ssf
+/release.config.js @saltstack-formulas/ssf
+
+# SECTION: Owner(s) for specific files
+# FILE PATTERN OWNER(S)
+/salt/formulas.sls @sticky-note @myii
+/salt/pin.sls @hatifnatt
diff --git a/FORMULA b/FORMULA
index 29549a9..5b9182b 100644
--- a/FORMULA
+++ b/FORMULA
@@ -1,7 +1,7 @@
name: salt
os: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows
os_family: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows
-version: 1.1.3
+version: 1.4.2
release: 1
minimum_version: 2015.8
summary: Formula for install Saltstack
diff --git a/Gemfile b/Gemfile
index 8da7a69..5a232b6 100644
--- a/Gemfile
+++ b/Gemfile
@@ -5,7 +5,3 @@ source 'https://rubygems.org'
gem 'kitchen-docker', '>= 2.9'
gem 'kitchen-inspec', '>= 1.1'
gem 'kitchen-salt', '>= 0.6.0'
-# Latest versions of `train` cause failure when running `kitchen verify`
-# Downgrading to `3.2.0` until this is fixed upstream
-# https://github.com/inspec/train/pull/544#issuecomment-566055052
-gem 'train', '3.2.0'
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..452d60e
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,540 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ activesupport (5.2.4.3)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 0.7, < 2)
+ minitest (~> 5.1)
+ tzinfo (~> 1.1)
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ aws-eventstream (1.1.0)
+ aws-partitions (1.322.0)
+ aws-sdk-apigateway (1.40.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-apigatewayv2 (1.20.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-athena (1.25.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-autoscaling (1.22.0)
+ aws-sdk-core (~> 3, >= 3.52.1)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-budgets (1.29.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-cloudformation (1.35.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-cloudhsm (1.21.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-cloudhsmv2 (1.22.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-cloudtrail (1.22.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-cloudwatch (1.37.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-cloudwatchlogs (1.30.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-codecommit (1.32.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-codedeploy (1.30.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-codepipeline (1.30.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-configservice (1.44.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-core (3.96.1)
+ aws-eventstream (~> 1, >= 1.0.2)
+ aws-partitions (~> 1, >= 1.239.0)
+ aws-sigv4 (~> 1.1)
+ jmespath (~> 1.0)
+ aws-sdk-costandusagereportservice (1.20.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-dynamodb (1.47.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-ec2 (1.163.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-ecr (1.29.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-ecs (1.62.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-efs (1.28.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-eks (1.36.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticache (1.34.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticbeanstalk (1.29.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticloadbalancing (1.21.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticloadbalancingv2 (1.43.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticsearchservice (1.34.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-firehose (1.27.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-iam (1.37.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-kafka (1.20.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-kinesis (1.22.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-kms (1.31.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-lambda (1.41.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-organizations (1.17.0)
+ aws-sdk-core (~> 3, >= 3.39.0)
+ aws-sigv4 (~> 1.0)
+ aws-sdk-rds (1.84.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-redshift (1.42.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-route53 (1.34.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-route53domains (1.21.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-route53resolver (1.13.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-s3 (1.66.0)
+ aws-sdk-core (~> 3, >= 3.96.1)
+ aws-sdk-kms (~> 1)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-securityhub (1.25.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-ses (1.29.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-sms (1.19.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-sns (1.23.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-sqs (1.25.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-ssm (1.78.0)
+ aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sigv4 (~> 1.1)
+ aws-sigv4 (1.1.3)
+ aws-eventstream (~> 1.0, >= 1.0.2)
+ azure_graph_rbac (0.17.1)
+ ms_rest_azure (~> 0.11.0)
+ azure_mgmt_key_vault (0.17.5)
+ ms_rest_azure (~> 0.11.1)
+ azure_mgmt_resources (0.17.8)
+ ms_rest_azure (~> 0.11.1)
+ azure_mgmt_security (0.18.0)
+ ms_rest_azure (~> 0.11.1)
+ azure_mgmt_storage (0.21.0)
+ ms_rest_azure (~> 0.11.1)
+ bcrypt_pbkdf (1.0.1)
+ builder (3.2.4)
+ chef-config (16.1.16)
+ addressable
+ chef-utils (= 16.1.16)
+ fuzzyurl
+ mixlib-config (>= 2.2.12, < 4.0)
+ mixlib-shellout (>= 2.0, < 4.0)
+ tomlrb (~> 1.2)
+ chef-telemetry (1.0.5)
+ chef-config
+ concurrent-ruby (~> 1.0)
+ ffi-yajl (~> 2.2)
+ http (~> 4)
+ chef-utils (16.1.16)
+ coderay (1.1.2)
+ concurrent-ruby (1.1.6)
+ declarative (0.0.10)
+ declarative-option (0.1.0)
+ diff-lcs (1.3)
+ docker-api (1.34.2)
+ excon (>= 0.47.0)
+ multi_json
+ domain_name (0.5.20190701)
+ unf (>= 0.0.5, < 1.0.0)
+ ecma-re-validator (0.2.1)
+ regexp_parser (~> 1.2)
+ ed25519 (1.2.4)
+ equatable (0.6.1)
+ erubi (1.9.0)
+ excon (0.73.0)
+ faraday (0.17.3)
+ multipart-post (>= 1.2, < 3)
+ faraday-cookie_jar (0.0.6)
+ faraday (>= 0.7.4)
+ http-cookie (~> 1.0.0)
+ faraday_middleware (0.12.2)
+ faraday (>= 0.7.4, < 1.0)
+ ffi (1.12.2)
+ ffi-compiler (1.0.1)
+ ffi (>= 1.0.0)
+ rake
+ ffi-yajl (2.3.3)
+ libyajl2 (~> 1.2)
+ fuzzyurl (0.9.0)
+ google-api-client (0.34.1)
+ addressable (~> 2.5, >= 2.5.1)
+ googleauth (~> 0.9)
+ httpclient (>= 2.8.1, < 3.0)
+ mini_mime (~> 1.0)
+ representable (~> 3.0)
+ retriable (>= 2.0, < 4.0)
+ signet (~> 0.12)
+ googleauth (0.10.0)
+ faraday (~> 0.12)
+ jwt (>= 1.4, < 3.0)
+ memoist (~> 0.16)
+ multi_json (~> 1.11)
+ os (>= 0.9, < 2.0)
+ signet (~> 0.12)
+ gssapi (1.3.0)
+ ffi (>= 1.0.1)
+ gyoku (1.3.1)
+ builder (>= 2.1.2)
+ hana (1.3.6)
+ hashie (3.6.0)
+ htmlentities (4.3.4)
+ http (4.4.1)
+ addressable (~> 2.3)
+ http-cookie (~> 1.0)
+ http-form_data (~> 2.2)
+ http-parser (~> 1.2.0)
+ http-cookie (1.0.3)
+ domain_name (~> 0.5)
+ http-form_data (2.3.0)
+ http-parser (1.2.1)
+ ffi-compiler (>= 1.0, < 2.0)
+ httpclient (2.8.3)
+ i18n (1.8.2)
+ concurrent-ruby (~> 1.0)
+ inifile (3.0.0)
+ inspec (4.18.114)
+ faraday_middleware (~> 0.12.2)
+ inspec-core (= 4.18.114)
+ train (~> 3.0)
+ train-aws (~> 0.1)
+ train-habitat (~> 0.1)
+ train-winrm (~> 0.2)
+ inspec-core (4.18.114)
+ addressable (~> 2.4)
+ chef-telemetry (~> 1.0)
+ faraday (>= 0.9.0)
+ hashie (~> 3.4)
+ htmlentities (~> 4.3)
+ json_schemer (~> 0.2.1)
+ license-acceptance (>= 0.2.13, < 2.0)
+ method_source (>= 0.8, < 2.0)
+ mixlib-log (~> 3.0)
+ multipart-post (~> 2.0)
+ parallel (~> 1.9)
+ parslet (~> 1.5)
+ pry (~> 0.13)
+ rspec (~> 3.9)
+ rspec-its (~> 1.2)
+ rubyzip (~> 1.2, >= 1.2.2)
+ semverse (~> 3.0)
+ sslshake (~> 1.2)
+ term-ansicolor (~> 1.7)
+ thor (>= 0.20, < 2.0)
+ tomlrb (~> 1.2)
+ train-core (~> 3.0)
+ tty-prompt (~> 0.17)
+ tty-table (~> 0.10)
+ jmespath (1.4.0)
+ json (2.3.0)
+ json_schemer (0.2.11)
+ ecma-re-validator (~> 0.2)
+ hana (~> 1.3)
+ regexp_parser (~> 1.5)
+ uri_template (~> 0.7)
+ jwt (2.2.1)
+ kitchen-docker (2.10.0)
+ test-kitchen (>= 1.0.0)
+ kitchen-inspec (1.3.2)
+ hashie (~> 3.4)
+ inspec (>= 1.47, < 5.0)
+ test-kitchen (>= 1.6, < 3)
+ kitchen-salt (0.6.3)
+ hashie (>= 3.5)
+ test-kitchen (>= 1.4)
+ libyajl2 (1.2.0)
+ license-acceptance (1.0.19)
+ pastel (~> 0.7)
+ tomlrb (~> 1.2)
+ tty-box (~> 0.3)
+ tty-prompt (~> 0.18)
+ little-plugger (1.1.4)
+ logging (2.2.2)
+ little-plugger (~> 1.1)
+ multi_json (~> 1.10)
+ memoist (0.16.2)
+ method_source (1.0.0)
+ mini_mime (1.0.2)
+ minitest (5.14.1)
+ mixlib-config (3.0.6)
+ tomlrb
+ mixlib-install (3.12.1)
+ mixlib-shellout
+ mixlib-versioning
+ thor
+ mixlib-log (3.0.8)
+ mixlib-shellout (3.0.9)
+ mixlib-versioning (1.2.12)
+ ms_rest (0.7.6)
+ concurrent-ruby (~> 1.0)
+ faraday (>= 0.9, < 2.0.0)
+ timeliness (~> 0.3.10)
+ ms_rest_azure (0.11.2)
+ concurrent-ruby (~> 1.0)
+ faraday (>= 0.9, < 2.0.0)
+ faraday-cookie_jar (~> 0.0.6)
+ ms_rest (~> 0.7.6)
+ unf_ext (= 0.0.7.2)
+ multi_json (1.14.1)
+ multipart-post (2.1.1)
+ necromancer (0.5.1)
+ net-scp (2.0.0)
+ net-ssh (>= 2.6.5, < 6.0.0)
+ net-ssh (5.2.0)
+ net-ssh-gateway (2.0.0)
+ net-ssh (>= 4.0.0)
+ nori (2.6.0)
+ os (1.1.0)
+ parallel (1.19.1)
+ parslet (1.8.2)
+ pastel (0.7.4)
+ equatable (~> 0.6)
+ tty-color (~> 0.5)
+ pry (0.13.1)
+ coderay (~> 1.1)
+ method_source (~> 1.0)
+ public_suffix (4.0.5)
+ rake (13.0.1)
+ regexp_parser (1.7.0)
+ representable (3.0.4)
+ declarative (< 0.1.0)
+ declarative-option (< 0.2.0)
+ uber (< 0.2.0)
+ retriable (3.1.2)
+ rspec (3.9.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
+ rspec-core (3.9.2)
+ rspec-support (~> 3.9.3)
+ rspec-expectations (3.9.2)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.9.0)
+ rspec-its (1.3.0)
+ rspec-core (>= 3.0.0)
+ rspec-expectations (>= 3.0.0)
+ rspec-mocks (3.9.1)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.9.0)
+ rspec-support (3.9.3)
+ rubyntlm (0.6.2)
+ rubyzip (1.3.0)
+ semverse (3.0.0)
+ signet (0.14.0)
+ addressable (~> 2.3)
+ faraday (>= 0.17.3, < 2.0)
+ jwt (>= 1.5, < 3.0)
+ multi_json (~> 1.10)
+ sslshake (1.3.0)
+ strings (0.1.8)
+ strings-ansi (~> 0.1)
+ unicode-display_width (~> 1.5)
+ unicode_utils (~> 1.4)
+ strings-ansi (0.2.0)
+ sync (0.5.0)
+ term-ansicolor (1.7.1)
+ tins (~> 1.0)
+ test-kitchen (2.5.1)
+ bcrypt_pbkdf (~> 1.0)
+ ed25519 (~> 1.2)
+ license-acceptance (~> 1.0, >= 1.0.11)
+ mixlib-install (~> 3.6)
+ mixlib-shellout (>= 1.2, < 4.0)
+ net-scp (>= 1.1, < 4.0)
+ net-ssh (>= 2.9, < 7.0)
+ net-ssh-gateway (>= 1.2, < 3.0)
+ thor (~> 0.19)
+ winrm (~> 2.0)
+ winrm-elevated (~> 1.0)
+ winrm-fs (~> 1.1)
+ thor (0.20.3)
+ thread_safe (0.3.6)
+ timeliness (0.3.10)
+ tins (1.25.0)
+ sync
+ tomlrb (1.3.0)
+ train (3.2.28)
+ activesupport (~> 5.2.3)
+ azure_graph_rbac (~> 0.16)
+ azure_mgmt_key_vault (~> 0.17)
+ azure_mgmt_resources (~> 0.15)
+ azure_mgmt_security (~> 0.18)
+ azure_mgmt_storage (~> 0.18)
+ docker-api (~> 1.26)
+ google-api-client (>= 0.23.9, < 0.35.0)
+ googleauth (>= 0.6.6, < 0.11.0)
+ inifile (~> 3.0)
+ train-core (= 3.2.28)
+ train-winrm (~> 0.2)
+ train-aws (0.1.16)
+ aws-sdk-apigateway (~> 1.0)
+ aws-sdk-apigatewayv2 (~> 1.0)
+ aws-sdk-athena (~> 1.0)
+ aws-sdk-autoscaling (~> 1.22.0)
+ aws-sdk-budgets (~> 1.0)
+ aws-sdk-cloudformation (~> 1.0)
+ aws-sdk-cloudhsm (~> 1.0)
+ aws-sdk-cloudhsmv2 (~> 1.0)
+ aws-sdk-cloudtrail (~> 1.8)
+ aws-sdk-cloudwatch (~> 1.13)
+ aws-sdk-cloudwatchlogs (~> 1.13)
+ aws-sdk-codecommit (~> 1.0)
+ aws-sdk-codedeploy (~> 1.0)
+ aws-sdk-codepipeline (~> 1.0)
+ aws-sdk-configservice (~> 1.21)
+ aws-sdk-core (~> 3.0)
+ aws-sdk-costandusagereportservice (~> 1.6)
+ aws-sdk-dynamodb (~> 1.31)
+ aws-sdk-ec2 (~> 1.70)
+ aws-sdk-ecr (~> 1.18)
+ aws-sdk-ecs (~> 1.30)
+ aws-sdk-efs (~> 1.0)
+ aws-sdk-eks (~> 1.9)
+ aws-sdk-elasticache (~> 1.0)
+ aws-sdk-elasticbeanstalk (~> 1.0)
+ aws-sdk-elasticloadbalancing (~> 1.8)
+ aws-sdk-elasticloadbalancingv2 (~> 1.0)
+ aws-sdk-elasticsearchservice (~> 1.0)
+ aws-sdk-firehose (~> 1.0)
+ aws-sdk-iam (~> 1.13)
+ aws-sdk-kafka (~> 1.0)
+ aws-sdk-kinesis (~> 1.0)
+ aws-sdk-kms (~> 1.13)
+ aws-sdk-lambda (~> 1.0)
+ aws-sdk-organizations (~> 1.17.0)
+ aws-sdk-rds (~> 1.43)
+ aws-sdk-redshift (~> 1.0)
+ aws-sdk-route53 (~> 1.0)
+ aws-sdk-route53domains (~> 1.0)
+ aws-sdk-route53resolver (~> 1.0)
+ aws-sdk-s3 (~> 1.30)
+ aws-sdk-securityhub (~> 1.0)
+ aws-sdk-ses (~> 1.0)
+ aws-sdk-sms (~> 1.0)
+ aws-sdk-sns (~> 1.9)
+ aws-sdk-sqs (~> 1.10)
+ aws-sdk-ssm (~> 1.0)
+ train-core (3.2.28)
+ addressable (~> 2.5)
+ json (>= 1.8, < 3.0)
+ mixlib-shellout (>= 2.0, < 4.0)
+ net-scp (>= 1.2, < 3.0)
+ net-ssh (>= 2.9, < 6.0)
+ train-habitat (0.2.13)
+ train-winrm (0.2.6)
+ winrm (~> 2.0)
+ winrm-fs (~> 1.0)
+ tty-box (0.5.0)
+ pastel (~> 0.7.2)
+ strings (~> 0.1.6)
+ tty-cursor (~> 0.7)
+ tty-color (0.5.1)
+ tty-cursor (0.7.1)
+ tty-prompt (0.21.0)
+ necromancer (~> 0.5.0)
+ pastel (~> 0.7.0)
+ tty-reader (~> 0.7.0)
+ tty-reader (0.7.0)
+ tty-cursor (~> 0.7)
+ tty-screen (~> 0.7)
+ wisper (~> 2.0.0)
+ tty-screen (0.7.1)
+ tty-table (0.11.0)
+ equatable (~> 0.6)
+ necromancer (~> 0.5)
+ pastel (~> 0.7.2)
+ strings (~> 0.1.5)
+ tty-screen (~> 0.7)
+ tzinfo (1.2.7)
+ thread_safe (~> 0.1)
+ uber (0.1.0)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.2)
+ unicode-display_width (1.7.0)
+ unicode_utils (1.4.0)
+ uri_template (0.7.0)
+ winrm (2.3.4)
+ builder (>= 2.1.2)
+ erubi (~> 1.8)
+ gssapi (~> 1.2)
+ gyoku (~> 1.0)
+ httpclient (~> 2.2, >= 2.2.0.2)
+ logging (>= 1.6.1, < 3.0)
+ nori (~> 2.0)
+ rubyntlm (~> 0.6.0, >= 0.6.1)
+ winrm-elevated (1.2.1)
+ erubi (~> 1.8)
+ winrm (~> 2.0)
+ winrm-fs (~> 1.0)
+ winrm-fs (1.3.3)
+ erubi (~> 1.8)
+ logging (>= 1.6.1, < 3.0)
+ rubyzip (~> 1.1)
+ winrm (~> 2.0)
+ wisper (2.0.1)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ kitchen-docker (>= 2.9)
+ kitchen-inspec (>= 1.1)
+ kitchen-salt (>= 0.6.0)
+
+BUNDLED WITH
+ 2.1.2
diff --git a/docs/AUTHORS.rst b/docs/AUTHORS.rst
index 37312b8..835566a 100644
--- a/docs/AUTHORS.rst
+++ b/docs/AUTHORS.rst
@@ -13,12 +13,12 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - Avatar
- Contributor
- Contributions
+ * - :raw-html-m2r:``
+ - `@myii `_
+ - 109
* - :raw-html-m2r:``
- `@aboe76 `_
- 100
- * - :raw-html-m2r:``
- - `@myii `_
- - 72
* - :raw-html-m2r:``
- `@gravyboat `_
- 71
@@ -34,12 +34,12 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:``
- `@javierbertoli `_
- 20
+ * - :raw-html-m2r:``
+ - `@noelmcloughlin `_
+ - 20
* - :raw-html-m2r:``
- `@xenophonf `_
- 18
- * - :raw-html-m2r:``
- - `@noelmcloughlin `_
- - 16
* - :raw-html-m2r:``
- `@andrew-vant `_
- 13
@@ -103,6 +103,9 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:``
- `@dafyddj `_
- 3
+ * - :raw-html-m2r:``
+ - `@pprkut `_
+ - 3
* - :raw-html-m2r:``
- `@jcftang `_
- 3
@@ -145,9 +148,6 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:``
- `@quixoten `_
- 2
- * - :raw-html-m2r:``
- - `@pprkut `_
- - 2
* - :raw-html-m2r:``
- `@hemebond `_
- 2
@@ -295,6 +295,12 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:``
- `@abednarik `_
- 1
+ * - :raw-html-m2r:``
+ - `@cr1st1p `_
+ - 1
+ * - :raw-html-m2r:``
+ - `@hatifnatt `_
+ - 1
* - :raw-html-m2r:``
- `@jpic `_
- 1
@@ -317,4 +323,4 @@ This list is sorted by the number of commits per contributor in *descending* ord
----
-Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2020-02-13.
+Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2020-05-26.
diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst
index 9bea250..405abca 100644
--- a/docs/CHANGELOG.rst
+++ b/docs/CHANGELOG.rst
@@ -2,6 +2,152 @@
Changelog
=========
+`1.4.2 `_ (2020-05-26)
+------------------------------------------------------------------------------------------------------
+
+Bug Fixes
+^^^^^^^^^
+
+
+* **opensuse:** use appropriate upstream repo (\ `5d9a92b `_\ )
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **kitchen+travis:** adjust matrix to add ``3000.3`` [skip ci] (\ `a333801 `_\ )
+* **kitchen+travis:** adjust matrix to add ``opensuse-leap-15.2`` (\ `7fc32fb `_\ )
+* **kitchen+travis:** adjust matrix to add ``opensuse-leap-15.2`` (\ `1afa84e `_\ )
+* **travis:** add notifications => zulip [skip ci] (\ `7e2a9c0 `_\ )
+* **workflows/commitlint:** add to repo [skip ci] (\ `38ebe56 `_\ )
+
+Tests
+^^^^^
+
+
+* **pkgs_spec:** update for releases ``3000.3`` & ``2019.2.5`` (\ `5917569 `_\ )
+* **pkgs_spec:** update version installed on ``fedora`` (\ `301a988 `_\ )
+
+`1.4.1 `_ (2020-05-02)
+------------------------------------------------------------------------------------------------------
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **gemfile.lock:** add to repo with updated ``Gemfile`` [skip ci] (\ `f10a85f `_\ )
+* **kitchen+travis:** adjust matrix to add ``3000.2`` & remove ``2018.3`` (\ `433a2c1 `_\ )
+
+Tests
+^^^^^
+
+
+* add tests for ``v3000-py2`` (\ `c228029 `_\ )
+* **pkgs_spec:** update for CVE releases ``3000.2`` & ``2019.2.4`` (\ `965588b `_\ )
+* remove deprecated Salt/Python versions (\ `7f19796 `_\ )
+
+`1.4.0 `_ (2020-04-18)
+------------------------------------------------------------------------------------------------------
+
+Features
+^^^^^^^^
+
+
+* **package:** use apt-pinning to pin specific package version (\ `98ad87a `_\ )
+
+Tests
+^^^^^
+
+
+* **pkgs_spec:** update ``fedora`` version [skip ci] (\ `e786eb6 `_\ )
+
+`1.3.4 `_ (2020-04-03)
+------------------------------------------------------------------------------------------------------
+
+Bug Fixes
+^^^^^^^^^
+
+
+* **api:** remove spurious colon in salt.api state (\ `02fbcd4 `_\ )
+
+`1.3.3 `_ (2020-04-01)
+------------------------------------------------------------------------------------------------------
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **kitchen+travis:** adjust matrix to update ``3000`` to ``3000.1`` (\ `a8fe65a `_\ )
+
+Tests
+^^^^^
+
+
+* **pkgs_spec:** update ``3000`` to ``3000.1`` (\ `1e677cd `_\ )
+* **service_spec:** add ``should be_installed`` (\ `b5461a0 `_\ )
+
+`1.3.2 `_ (2020-03-21)
+------------------------------------------------------------------------------------------------------
+
+Code Refactoring
+^^^^^^^^^^^^^^^^
+
+
+* **osfamilymap:** remove workaround for OpenSUSE 15.1 (\ `0da366c `_\ )
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **kitchen+travis:** adjust matrix to add ``3000`` & remove ``2017.7`` (\ `4a5f805 `_\ )
+
+Tests
+^^^^^
+
+
+* **neon:** add pillar and tests for ``3000`` (\ `f91f10c `_\ )
+* **nitrogen:** remove pillar and tests for ``2017.7`` (\ `f246a5e `_\ )
+
+`1.3.1 `_ (2020-03-19)
+------------------------------------------------------------------------------------------------------
+
+Bug Fixes
+^^^^^^^^^
+
+
+* **jinja:** replace version_cmp with grains lookup (\ `dd37869 `_\ )
+* **jinja:** replace version_cmp with grains lookup (\ `325f6c0 `_\ )
+
+`1.3.0 `_ (2020-03-11)
+------------------------------------------------------------------------------------------------------
+
+Features
+^^^^^^^^
+
+
+* **mapping:** better control of the service's state (\ `29ffd68 `_\ )
+
+`1.2.0 `_ (2020-02-20)
+------------------------------------------------------------------------------------------------------
+
+Bug Fixes
+^^^^^^^^^
+
+
+* **libtofs:** “files_switch” mess up the variable exported by “map.jinja” [skip ci] (\ `4955737 `_\ )
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **kitchen+travis+inspec:** fix ``amazonlinux-2-py3`` [skip ci] (\ `10e2ce0 `_\ )
+
+Features
+^^^^^^^^
+
+
+* **metastate:** add metastate per community convention (\ `fbaa456 `_\ )
+
`1.1.3 `_ (2020-02-13)
------------------------------------------------------------------------------------------------------
diff --git a/docs/README.rst b/docs/README.rst
index 517d135..fa8d29c 100644
--- a/docs/README.rst
+++ b/docs/README.rst
@@ -45,6 +45,13 @@ Available states
.. contents::
:local:
+``salt``
+^^^^^^^^
+
+*Meta-state (This is a state that includes other states)*.
+
+This calls all runable states based on configured pillar data.
+
``salt.minion``
^^^^^^^^^^^^^^^
diff --git a/kitchen.yml b/kitchen.yml
index 6c69f74..314c194 100644
--- a/kitchen.yml
+++ b/kitchen.yml
@@ -11,59 +11,52 @@ driver:
# Make sure the platforms listed below match up with
# the `env.matrix` instances defined in `.travis.yml`
platforms:
- ## SALT `2017.7`
- - name: debian-8-2017-7-py2
+ ## SALT `3000.3`
+ - name: debian-10-3000-3-py3
driver:
- image: netmanagers/salt-2017.7-py2:debian-8
- - name: ubuntu-1604-2017-7-py2
+ image: netmanagers/salt-3000.3-py3:debian-10
+ - name: debian-9-3000-3-py3
driver:
- image: netmanagers/salt-2017.7-py2:ubuntu-16.04
- - name: centos-6-2017-7-py2
+ image: netmanagers/salt-3000.3-py3:debian-9
+ - name: ubuntu-1804-3000-3-py3
driver:
- image: netmanagers/salt-2017.7-py2:centos-6
- run_command: /sbin/init
- - name: amazonlinux-1-2017-7-py2
+ image: netmanagers/salt-3000.3-py3:ubuntu-18.04
+ - name: centos-8-3000-3-py3
driver:
- image: netmanagers/salt-2017.7-py2:amazonlinux-1
- run_command: /sbin/init
- - name: arch-base-latest-2017-7-py2
+ image: netmanagers/salt-3000.3-py3:centos-8
+ - name: centos-7-3000-3-py3
driver:
- image: netmanagers/salt-2017.7-py2:arch-base-latest
+ image: netmanagers/salt-3000.3-py3:centos-7
+ - name: fedora-31-3000-3-py3
+ driver:
+ image: netmanagers/salt-3000.3-py3:fedora-31
+ - name: opensuse-leap-152-3000-3-py3
+ driver:
+ image: netmanagers/salt-3000.3-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
-
- ## SALT `2018.3`
- - name: debian-9-2018-3-py2
+ # Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
+ # => SCP did not finish successfully (255): (Net::SCP::Error)
+ transport:
+ max_ssh_sessions: 1
+ - name: opensuse-leap-151-3000-3-py3
driver:
- image: netmanagers/salt-2018.3-py2:debian-9
- - name: ubuntu-1604-2018-3-py2
- driver:
- image: netmanagers/salt-2018.3-py2:ubuntu-16.04
- - name: centos-7-2018-3-py2
- driver:
- image: netmanagers/salt-2018.3-py2:centos-7
- - name: amazonlinux-1-2018-3-py2
- driver:
- image: netmanagers/salt-2018.3-py2:amazonlinux-1
- run_command: /sbin/init
- - name: arch-base-latest-2018-3-py2
- driver:
- image: netmanagers/salt-2018.3-py2:arch-base-latest
+ image: netmanagers/salt-3000.3-py3:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
+ # Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
+ # => SCP did not finish successfully (255): (Net::SCP::Error)
+ transport:
+ max_ssh_sessions: 1
+ - name: amazonlinux-2-3000-3-py3
+ driver:
+ image: netmanagers/salt-3000.3-py3:amazonlinux-2
+ - name: ubuntu-1804-3000-3-py2
+ driver:
+ image: netmanagers/salt-3000.3-py2:ubuntu-18.04
+ - name: ubuntu-1604-3000-3-py2
+ driver:
+ image: netmanagers/salt-3000.3-py2:ubuntu-16.04
## SALT `2019.2`
- - name: ubuntu-1804-2019-2-py2
- driver:
- image: netmanagers/salt-2019.2-py2:ubuntu-18.04
- - name: centos-7-2019-2-py2
- driver:
- image: netmanagers/salt-2019.2-py2:centos-7
- - name: amazonlinux-2-2019-2-py3
- driver:
- image: netmanagers/salt-2019.2-py3:amazonlinux-2
- - name: arch-base-latest-2019-2-py2
- driver:
- image: netmanagers/salt-2019.2-py2:arch-base-latest
- run_command: /usr/lib/systemd/systemd
- name: debian-10-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:debian-10
@@ -73,20 +66,26 @@ platforms:
- name: ubuntu-1804-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:ubuntu-18.04
+ - name: ubuntu-1604-2019-2-py3
+ driver:
+ image: netmanagers/salt-2019.2-py3:ubuntu-16.04
- name: centos-8-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:centos-8
- - name: fedora-31-2019-2-py3
+ - name: centos-7-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:fedora-31
- - name: opensuse-leap-151-2019-2-py3
+ image: netmanagers/salt-2019.2-py3:centos-7
+ - name: amazonlinux-2-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:opensuse-leap-15.1
- run_command: /usr/lib/systemd/systemd
- # Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
- # => SCP did not finish successfully (255): (Net::SCP::Error)
- transport:
- max_ssh_sessions: 1
+ image: netmanagers/salt-2019.2-py3:amazonlinux-2
+ - name: centos-6-2019-2-py2
+ driver:
+ image: netmanagers/salt-2019.2-py2:centos-6
+ run_command: /sbin/init
+ - name: amazonlinux-1-2019-2-py2
+ driver:
+ image: netmanagers/salt-2019.2-py2:amazonlinux-1
+ run_command: /sbin/init
provisioner:
name: salt_solo
@@ -107,13 +106,67 @@ verifier:
- cli
suites:
+ - name: v3000-py3
+ includes:
+ - debian-10-3000-3-py3
+ - debian-9-3000-3-py3
+ - ubuntu-1804-3000-3-py3
+ - centos-8-3000-3-py3
+ - centos-7-3000-3-py3
+ - fedora-31-3000-3-py3
+ - opensuse-leap-152-3000-3-py3
+ - opensuse-leap-151-3000-3-py3
+ - amazonlinux-2-3000-3-py3
+ provisioner:
+ state_top:
+ base:
+ '*':
+ - salt.pkgrepo
+ - salt.master
+ - salt.minion
+ pillars:
+ top.sls:
+ base:
+ '*':
+ - salt
+ - v3000-py3
+ pillars_from_files:
+ salt.sls: test/salt/pillar/salt.sls
+ v3000-py3.sls: test/salt/pillar/v3000-py3.sls
+ verifier:
+ inspec_tests:
+ - path: test/integration/v3000-py3
+ - name: v3000-py2
+ includes:
+ - ubuntu-1804-3000-3-py2
+ - ubuntu-1604-3000-3-py2
+ provisioner:
+ state_top:
+ base:
+ '*':
+ - salt.pkgrepo
+ - salt.master
+ - salt.minion
+ pillars:
+ top.sls:
+ base:
+ '*':
+ - salt
+ - v3000-py2
+ pillars_from_files:
+ salt.sls: test/salt/pillar/salt.sls
+ v3000-py2.sls: test/salt/pillar/v3000-py2.sls
+ verifier:
+ inspec_tests:
+ - path: test/integration/v3000-py2
- name: v201902-py3
includes:
- debian-10-2019-2-py3
- debian-9-2019-2-py3
- ubuntu-1804-2019-2-py3
+ - ubuntu-1604-2019-2-py3
- centos-8-2019-2-py3
- - opensuse-leap-151-2019-2-py3
+ - centos-7-2019-2-py3
- amazonlinux-2-2019-2-py3
provisioner:
state_top:
@@ -136,9 +189,8 @@ suites:
- path: test/integration/v201902-py3
- name: v201902-py2
includes:
- - ubuntu-1804-2019-2-py2
- - centos-7-2019-2-py2
- - arch-base-latest-2019-2-py2
+ - centos-6-2019-2-py2
+ - amazonlinux-1-2019-2-py2
provisioner:
state_top:
base:
@@ -158,55 +210,3 @@ suites:
verifier:
inspec_tests:
- path: test/integration/v201902-py2
- - name: v201803-py2
- includes:
- - debian-9-2018-3-py2
- - ubuntu-1604-2018-3-py2
- - centos-7-2018-3-py2
- - amazonlinux-1-2018-3-py2
- - arch-base-latest-2018-3-py2
- provisioner:
- state_top:
- base:
- '*':
- - salt.pkgrepo
- - salt.master
- - salt.minion
- pillars:
- top.sls:
- base:
- '*':
- - salt
- - v201803-py2
- pillars_from_files:
- salt.sls: test/salt/pillar/salt.sls
- v201803-py2.sls: test/salt/pillar/v201803-py2.sls
- verifier:
- inspec_tests:
- - path: test/integration/v201803-py2
- - name: v201707-py2
- includes:
- - debian-8-2017-7-py2
- - ubuntu-1604-2017-7-py2
- - centos-6-2017-7-py2
- - amazonlinux-1-2017-7-py2
- - arch-base-latest-2017-7-py2
- provisioner:
- state_top:
- base:
- '*':
- - salt.pkgrepo
- - salt.master
- - salt.minion
- pillars:
- top.sls:
- base:
- '*':
- - salt
- - v201707-py2
- pillars_from_files:
- salt.sls: test/salt/pillar/salt.sls
- v201707-py2.sls: test/salt/pillar/v201707-py2.sls
- verifier:
- inspec_tests:
- - path: test/integration/v201707-py2
diff --git a/pillar.example b/pillar.example
index 550cff5..91d5d8a 100644
--- a/pillar.example
+++ b/pillar.example
@@ -24,6 +24,10 @@ salt:
# Optional: set salt version (if install_packages is set to true)
version: 2017.7.2-1.el7
+ # Pin version provided under 'version' key by using apt-pinning
+ # available only on Debian family OS-es
+ pin_version: false
+
# to overwrite map.jinja salt packages
lookup:
salt_master: 'salt-master'
@@ -80,6 +84,7 @@ salt:
# salt master config
master_config_use_TOFS: true
master:
+ standalone: false
fileserver_backend:
- git
- s3fs
@@ -163,6 +168,9 @@ salt:
minion_config_use_TOFS: true
minion:
+ # standalone setup
+ master_type: false # see init.sls & standalone.sls
+
# single master setup
master: salt
@@ -268,6 +276,13 @@ salt:
- test.ping
- saltutil.find_job
+ # init.sls skips salt.api and salt.syndic states
+ # unless those dicts are populated with something
+ api:
+ somekey: somevalue
+ syndic:
+ somekey: somevalue
+
# salt cloud config
cloud:
master: salt
diff --git a/salt/api.sls b/salt/api.sls
index 2cf9271..da2b84c 100644
--- a/salt/api.sls
+++ b/salt/api.sls
@@ -11,8 +11,9 @@ salt-api:
- version: {{ salt_settings.version }}
{%- endif %}
{% endif %}
- service.running:
- - enable: True
+{% if salt_settings.api_service_details.state != 'ignore' %}
+ service.{{ salt_settings.api_service_details.state }}:
+ - enable: {{ salt_settings.api_service_details.enabled }}
- name: {{ salt_settings.api_service }}
- require:
- service: {{ salt_settings.master_service }}
@@ -21,3 +22,4 @@ salt-api:
- pkg: salt-api
{% endif %}
- file: salt-master
+{% endif %}
diff --git a/salt/defaults.yaml b/salt/defaults.yaml
index 85f53d7..3e743e4 100644
--- a/salt/defaults.yaml
+++ b/salt/defaults.yaml
@@ -3,6 +3,7 @@
---
salt:
version: ''
+ pin_version: false
py_ver: '' ## py2 is default
rootuser: root
rootgroup: root
@@ -19,8 +20,23 @@ salt:
master_config_use_TOFS: false
minion_service: salt-minion
+ minion_service_details:
+ # special name 'ignore' will not output anything about the service
+ state: running
+ enabled: true
+
master_service: salt-master
+ master_service_details:
+ # special name 'ignore' will not output anything about the service
+ state: running
+ enabled: true
+
api_service: salt-api
+ api_service_details:
+ # special name 'ignore' will not output anything about the service
+ state: running
+ enabled: true
+
syndic_service: salt-syndic
salt_master: salt-master
@@ -32,11 +48,16 @@ salt:
salt_api: salt-api
salt_ssh: salt-ssh
+ pkgrepo: '' # see osfamilymap
+ ssh_roster: {} # see pillar data
+
python_git: python-git
python_dulwich: python-dulwich
master:
gitfs_provider: gitpython
+ minion:
+ master_type: true # see init.sls & standalone.sls
gitfs:
dulwich:
@@ -64,6 +85,7 @@ salt:
maps: salt://salt/files/cloud.maps.d
salt_formulas:
+ list: {} # via pillar data
checkout_orig_branch: false
git_opts:
default:
diff --git a/salt/formulas.sls b/salt/formulas.sls
index 9427a3a..7731d14 100644
--- a/salt/formulas.sls
+++ b/salt/formulas.sls
@@ -34,7 +34,7 @@
{%- do processed_basedirs.append(basedir) %}
{{ basedir }}:
file.directory:
- - parallel: {{ salt.pkg.version_cmp(grains['saltversion'], '2017.7.0') >= 0 }}
+ - parallel: {{ grains['saltversioninfo'] >= [2017, 7, 0] }}
{%- for key, value in salt['pillar.get']('salt_formulas:basedir_opts',
{'makedirs': True}).items() %}
- {{ key }}: {{ value }}
@@ -54,7 +54,7 @@
{{ gitdir_env }}:
git.latest:
- name: {{ baseurl }}/{{ f_name }}.git
- - parallel: {{ salt.pkg.version_cmp(grains['saltversion'], '2017.7.0') >= 0 }}
+ - parallel: {{ grains['saltversioninfo'] >= [2017, 7, 0] }}
- target: {{ gitdir }}
{%- for key, value in options.items() %}
- {{ key }}: {{ value }}
diff --git a/salt/init.sls b/salt/init.sls
new file mode 100755
index 0000000..e0eecb1
--- /dev/null
+++ b/salt/init.sls
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# vim: ft=sls
+
+include:
+ - salt.pkgrepo
+ {%- if salt.config.get('salt_formulas:list') %}
+ - salt.formulas
+ {%- endif %}
+ {%- if salt.config.get('salt:master')|length > 1 %}
+ - salt.master
+ {%- endif %}
+ {%- if salt.config.get('salt:cloud')|length > 1 %}
+ - salt.cloud
+ {%- endif %}
+ {%- if salt.config.get('salt:ssh_roster') %}
+ - salt.ssh
+ {%- endif %}
+ {%- if salt.config.get('salt:minion')|length > 1 %}
+ {%- if salt.config.get('salt:minion:master_type') %}
+ - salt.minion
+ {%- else %}
+ - salt.standalone
+ {%- endif %}
+ {%- endif %}
+ {%- if salt.config.get('salt:api') %}
+ - salt.api
+ {%- endif %}
+ {%- if salt.config.get('salt:syndic') %}
+ - salt.syndic
+ {%- endif %}
diff --git a/salt/master.sls b/salt/master.sls
index 161ca42..a80fa75 100644
--- a/salt/master.sls
+++ b/salt/master.sls
@@ -2,7 +2,7 @@
{%- from tplroot ~ "/map.jinja" import salt_settings with context %}
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
- {%- if grains.os == 'MacOS' %}
+{%- if grains.os == 'MacOS' %}
salt-master-macos:
file.managed:
- name: /Library/LaunchDaemons/com.saltstack.salt.master.plist
@@ -21,7 +21,12 @@ salt-master-macos:
- file: salt-master-macos
- require_in:
- service: salt-master
- {%- endif %}
+{%- endif %}
+
+{% if salt_settings.pin_version and salt_settings.version and grains.os_family|lower == 'debian' %}
+include:
+ - .pin
+{% endif %}
salt-master:
{% if salt_settings.install_packages %}
@@ -30,10 +35,12 @@ salt-master:
{%- if salt_settings.version is defined %}
- version: {{ salt_settings.version }}
{%- endif %}
+{% if salt_settings.master_service_details.state != 'ignore' %}
- require_in:
- service: salt-master
- watch_in:
- service: salt-master
+{% endif %}
{% endif %}
file.recurse:
- name: {{ salt_settings.config_path }}/master.d
@@ -49,13 +56,14 @@ salt-master:
{%- endif %}
- clean: {{ salt_settings.clean_config_d_dir }}
- exclude_pat: _*
- service.running:
- - enable: True
+{% if salt_settings.master_service_details.state != 'ignore' %}
+ service.{{ salt_settings.master_service_details.state }}:
+ - enable: {{ salt_settings.master_service_details.enabled }}
- name: {{ salt_settings.master_service }}
- watch:
- file: salt-master
- file: remove-old-master-conf-file
-
+{% endif %}
{% if salt_settings.master_remove_config %}
remove-default-master-conf-file:
file.absent:
diff --git a/salt/minion.sls b/salt/minion.sls
index 25ff63a..871e788 100644
--- a/salt/minion.sls
+++ b/salt/minion.sls
@@ -2,8 +2,14 @@
{%- from tplroot ~ "/map.jinja" import salt_settings with context %}
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
- {%- if grains.os == 'MacOS' %}
- {% if salt_settings.install_packages %}
+{% if salt_settings.pin_version and salt_settings.version and grains.os_family|lower == 'debian' %}
+include:
+ - .pin
+{% endif %}
+
+{%- if grains.os == 'MacOS' %}
+ {% if salt_settings.install_packages %}
+
download-salt-minion:
{% if salt_settings.salt_minion_pkg_source %}
{# only IF we know source and version to check the current install (if installed) against #}
@@ -68,8 +74,10 @@ salt-minion:
- force: True
- unless:
- test -n "{{ salt_settings.version }}" && '/opt/salt/bin/salt-minion --version=.*{{ salt_settings.version }}.*'
+{% if salt_settings.minion_service_details.state != 'ignore' %}
- require_in:
- service: salt-minion
+{% endif %}
- onchanges_in:
- cmd: remove-macpackage-salt
{%- elif grains.os != 'MacOS' and "workaround https://github.com/saltstack/salt/issues/49348" %}
@@ -78,8 +86,10 @@ salt-minion:
{%- if salt_settings.version %}
- version: {{ salt_settings.version }}
{%- endif %}
+{% if salt_settings.minion_service_details.state != 'ignore' %}
- require_in:
- service: salt-minion
+{% endif %}
{%- endif %}
{% endif %}
file.recurse:
@@ -98,11 +108,13 @@ salt-minion:
{%- endif %}
- clean: {{ salt_settings.clean_config_d_dir }}
- exclude_pat: _*
- service.running:
- - enable: True
+{% if salt_settings.minion_service_details.state != 'ignore' %}
+ service.{{ salt_settings.minion_service_details.state }}:
+ - enable: {{ salt_settings.minion_service_details.enabled }}
- name: {{ salt_settings.minion_service }}
- require:
- file: salt-minion
+{% endif %}
{%- if not salt_settings.restart_via_at %}
cmd.run:
{%- if grains['saltversioninfo'] >= [ 2016, 3 ] %}
diff --git a/salt/osfamilymap.yaml b/salt/osfamilymap.yaml
index 88d0638..8fcba19 100644
--- a/salt/osfamilymap.yaml
+++ b/salt/osfamilymap.yaml
@@ -4,11 +4,7 @@
{%- set py_ver_repr = salt['pillar.get']('salt:py_ver', '') %}
-{%- set osrelease = salt['grains.get']('osrelease') %}
-{#- Workaround for OpenSuse Leap 15.1 until the repo is available #}
-{%- if [grains.os_family, osrelease] == ['Suse', '15.1'] %}
-{%- set osrelease = '15.0' %}
-{%- endif %}
+{%- set osrelease = salt['grains.get']('osrelease', '') %}
{%- set salt_release = salt['pillar.get']('salt:release', 'latest') %}
{%- if salt_release.split('.')|length >= 3 %}
{%- set salt_release = 'archive/' ~ salt_release %}
@@ -16,6 +12,7 @@
{%- set osfamily_lower = salt['grains.get']('os_family')|lower %}
{%- set osmajorrelease = salt['grains.get']('osmajorrelease', osrelease)|string %}
{%- set oscodename = salt['grains.get']('oscodename') %}
+{%- set suse_testing_repo = ':/products:/next:/testing' if [osfamily_lower, osrelease] == ['suse', '15.2'] else '' %}
#from template-formula
{%- if grains.os == 'MacOS' %}
@@ -58,8 +55,8 @@ RedHat:
Suse:
pkgrepo_humanname: 'Salt releases for SLE-based SUSE products (openSUSE_Leap_{{ osrelease }})'
- pkgrepo: 'http://repo.saltstack.com/opensuse/openSUSE_Leap_{{ osrelease }}/'
- key_url: 'http://repo.saltstack.com/opensuse/openSUSE_Leap_{{ osrelease }}/repodata/repomd.xml.key'
+ pkgrepo: 'https://download.opensuse.org/repositories/systemsmanagement:/saltstack{{ suse_testing_repo }}/openSUSE_Leap_{{ osrelease }}/'
+ key_url: 'https://download.opensuse.org/repositories/systemsmanagement:/saltstack{{ suse_testing_repo }}/openSUSE_Leap_{{ osrelease }}/repodata/repomd.xml.key'
pygit2: python-pygit2
pyinotify: python-pyinotify
gitfs:
diff --git a/salt/pin.sls b/salt/pin.sls
new file mode 100644
index 0000000..abd824a
--- /dev/null
+++ b/salt/pin.sls
@@ -0,0 +1,22 @@
+{%- set tplroot = tpldir.split('/')[0] %}
+{%- from tplroot ~ "/map.jinja" import salt_settings with context %}
+
+{% if salt_settings.pin_version and salt_settings.version and grains.os_family|lower == 'debian' %}
+salt-pin-version:
+ file.managed:
+ - name: /etc/apt/preferences.d/salt
+ - contents: |
+ # This file managed by Salt, do not edit by hand!!
+ Package: salt*
+ Pin: version {{ salt_settings.version }}
+ Pin-Priority: 1000
+ # Order: 2 because we can't put a require_in on "pkg: salt-{master,minion}"
+ # because we don't know if they are used, and 'order: 1' already occupied by salt-pkgrepo
+ - order: 2
+
+{% elif grains.os_family|lower != 'debian' %}
+salt-pin-version:
+ test.show_notification:
+ - name: Available on Debian family OS-es only
+ - text: Apt pinning available only on Debian based distributives
+{% endif %}
diff --git a/salt/pkgrepo/init.sls b/salt/pkgrepo/init.sls
index b2c794c..9212737 100644
--- a/salt/pkgrepo/init.sls
+++ b/salt/pkgrepo/init.sls
@@ -1,2 +1,10 @@
+# -*- coding: utf-8 -*-
+# vim: ft=sls
+{% from "salt/map.jinja" import salt_settings with context %}
+
+ {%- if salt_settings.pkgrepo %}
+
include:
- .{{ grains['os_family']|lower }}
+
+ {%- endif %}
diff --git a/salt/standalone.sls b/salt/standalone.sls
index dd38a5a..8829d2c 100644
--- a/salt/standalone.sls
+++ b/salt/standalone.sls
@@ -1,14 +1,14 @@
{%- set tplroot = tpldir.split('/')[0] %}
{% from "salt/map.jinja" import salt_settings with context %}
-salt-minion:
-{% if salt_settings.install_packages %}
+salt-minion-standalone:
+ {% if salt_settings.install_packages %}
pkg.installed:
- name: {{ salt_settings.salt_minion }}
- {%- if salt_settings.version is defined %}
+ {%- if salt_settings.version is defined %}
- version: {{ salt_settings.version }}
- {%- endif %}
-{% endif %}
+ {%- endif %}
+ {% endif %}
file.recurse:
- name: {{ salt_settings.config_path }}/minion.d
- template: jinja
@@ -17,19 +17,19 @@ salt-minion:
- exclude_pat: _*
- context:
standalone: True
-{%- if salt_settings.minion.master_type is defined and salt_settings.minion.master_type == 'disable' %}
+ {%- if not salt_settings.minion.master_type %}
service.running:
- enable: True
-{%- else %}
+ {%- else %}
service.dead:
- enable: False
-{%- endif %}
+ {%- endif %}
- name: {{ salt_settings.minion_service }}
- require:
-{% if salt_settings.install_packages %}
- - pkg: salt-minion
-{% endif %}
- - file: salt-minion
+ {% if salt_settings.install_packages %}
+ - pkg: salt-minion-standalone
+ {% endif %}
+ - file: salt-minion-standalone
# clean up old _defaults.conf file if they have it around
remove-old-standalone-conf-file:
diff --git a/test/integration/v201707-py2/controls/pkgs_spec.rb b/test/integration/v201707-py2/controls/pkgs_spec.rb
deleted file mode 100644
index 2d09b69..0000000
--- a/test/integration/v201707-py2/controls/pkgs_spec.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-# frozen_string_literal: true
-
-version =
- case platform[:family]
- when 'redhat'
- case platform[:name]
- when 'amazon'
- '2017.7.8-1.el7'
- when 'centos'
- '2017.7.8-1.el6'
- end
- when 'debian'
- '2017.7.8+ds-1'
- end
-
-control 'salt packages' do
- title 'should be installed'
-
- %w[
- salt-master
- salt-minion
- ].each do |p|
- describe package(p) do
- it { should be_installed }
- its('version') { should eq version }
- end
- end
-end
diff --git a/test/integration/v201902-py2/controls/pkgs_spec.rb b/test/integration/v201902-py2/controls/pkgs_spec.rb
index 4c83c47..0ce81c0 100644
--- a/test/integration/v201902-py2/controls/pkgs_spec.rb
+++ b/test/integration/v201902-py2/controls/pkgs_spec.rb
@@ -1,11 +1,23 @@
# frozen_string_literal: true
+# Prepare platform "finger"
+platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}"
+
version =
case platform[:family]
- when 'redhat'
- '2019.2.3-1.el7'
when 'debian'
- '2019.2.3+ds-1'
+ '2019.2.5+ds-1'
+ when 'redhat'
+ case platform_finger
+ when 'centos-7'
+ '2019.2.5-1.el7'
+ when 'centos-6'
+ '2019.2.5-1.el6'
+ when 'amazon-2'
+ '2019.2.5-1.amzn2'
+ when 'amazon-2018'
+ '2019.2.5-1.amzn1'
+ end
end
control 'salt packages' do
diff --git a/test/integration/v201902-py2/controls/service_spec.rb b/test/integration/v201902-py2/controls/service_spec.rb
index 27f8ae5..9d99883 100644
--- a/test/integration/v201902-py2/controls/service_spec.rb
+++ b/test/integration/v201902-py2/controls/service_spec.rb
@@ -8,6 +8,7 @@ control 'salt services' do
salt-minion
].each do |p|
describe service(p) do
+ it { should be_installed }
it { should be_enabled }
it { should be_running }
end
diff --git a/test/integration/v201902-py3/controls/pkgs_spec.rb b/test/integration/v201902-py3/controls/pkgs_spec.rb
index a4fb073..f864ca9 100644
--- a/test/integration/v201902-py3/controls/pkgs_spec.rb
+++ b/test/integration/v201902-py3/controls/pkgs_spec.rb
@@ -1,18 +1,25 @@
# frozen_string_literal: true
+# Prepare platform "finger"
+platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}"
+
version =
case platform[:family]
+ when 'debian'
+ '2019.2.5+ds-1'
when 'redhat'
- case platform[:name]
- when 'amazon'
- '2019.2.3-1.amzn2'
- when 'centos'
- '2019.2.3-1.el8'
+ case platform_finger
+ when 'centos-8'
+ '2019.2.5-1.el8'
+ when 'centos-7'
+ '2019.2.5-1.el7'
+ when 'amazon-2'
+ '2019.2.5-1.amzn2'
end
when 'suse'
'2019.2.0-lp151.5.9.1'
when 'debian'
- '2019.2.3+ds-1'
+ '2019.2.3+ds-1
end
control 'salt packages' do
@@ -27,4 +34,4 @@ control 'salt packages' do
its('version') { should eq version }
end
end
-end
+end
\ No newline at end of file
diff --git a/test/integration/v201902-py3/controls/service_spec.rb b/test/integration/v201902-py3/controls/service_spec.rb
index 27f8ae5..9d99883 100644
--- a/test/integration/v201902-py3/controls/service_spec.rb
+++ b/test/integration/v201902-py3/controls/service_spec.rb
@@ -8,6 +8,7 @@ control 'salt services' do
salt-minion
].each do |p|
describe service(p) do
+ it { should be_installed }
it { should be_enabled }
it { should be_running }
end
diff --git a/test/integration/v201707-py2/README.md b/test/integration/v3000-py2/README.md
similarity index 73%
rename from test/integration/v201707-py2/README.md
rename to test/integration/v3000-py2/README.md
index ab6b7bb..85dda6c 100644
--- a/test/integration/v201707-py2/README.md
+++ b/test/integration/v3000-py2/README.md
@@ -1,16 +1,16 @@
-# InSpec Profile: `v201707-py2`
+# InSpec Profile: `v3000-py2`
-This shows the implementation of the `v201707-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
+This shows the implementation of the `v3000-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile
InSpec ships with built-in features to verify a profile structure.
```bash
-$ inspec check v201707-py2
+$ inspec check v3000-py2
Summary
-------
-Location: v201707-py2
+Location: v3000-py2
Profile: profile
Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00
@@ -28,7 +28,7 @@ Warnings
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
```bash
-$ inspec exec v201707-py2
+$ inspec exec v3000-py2
..
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
@@ -40,7 +40,7 @@ Finished in 0.0025 seconds (files took 0.12449 seconds to load)
To run one control from the profile use `inspec exec /path/to/profile --controls name`.
```bash
-$ inspec exec v201707-py2 --controls package
+$ inspec exec v3000-py2 --controls package
.
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
diff --git a/test/integration/v201803-py2/controls/pkgs_spec.rb b/test/integration/v3000-py2/controls/pkgs_spec.rb
similarity index 84%
rename from test/integration/v201803-py2/controls/pkgs_spec.rb
rename to test/integration/v3000-py2/controls/pkgs_spec.rb
index 72f3d74..d1f2d8c 100644
--- a/test/integration/v201803-py2/controls/pkgs_spec.rb
+++ b/test/integration/v3000-py2/controls/pkgs_spec.rb
@@ -2,10 +2,8 @@
version =
case platform[:family]
- when 'redhat'
- '2018.3.5-1.el7'
when 'debian'
- '2018.3.5+ds-1'
+ '3000.3+ds-1'
end
control 'salt packages' do
diff --git a/test/integration/v201707-py2/controls/service_spec.rb b/test/integration/v3000-py2/controls/service_spec.rb
similarity index 88%
rename from test/integration/v201707-py2/controls/service_spec.rb
rename to test/integration/v3000-py2/controls/service_spec.rb
index 27f8ae5..9d99883 100644
--- a/test/integration/v201707-py2/controls/service_spec.rb
+++ b/test/integration/v3000-py2/controls/service_spec.rb
@@ -8,6 +8,7 @@ control 'salt services' do
salt-minion
].each do |p|
describe service(p) do
+ it { should be_installed }
it { should be_enabled }
it { should be_running }
end
diff --git a/test/integration/v201803-py2/inspec.yml b/test/integration/v3000-py2/inspec.yml
similarity index 81%
rename from test/integration/v201803-py2/inspec.yml
rename to test/integration/v3000-py2/inspec.yml
index 253f5fa..a70fde0 100644
--- a/test/integration/v201803-py2/inspec.yml
+++ b/test/integration/v3000-py2/inspec.yml
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
-name: v201803-py2
+name: v3000-py2
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
-summary: Verify that Salt `v201803-py2` is setup and configured
+summary: Verify that Salt `v3000-py2` is setup and configured
supports:
- platform-name: debian
- platform-name: ubuntu
diff --git a/test/integration/v201803-py2/README.md b/test/integration/v3000-py3/README.md
similarity index 73%
rename from test/integration/v201803-py2/README.md
rename to test/integration/v3000-py3/README.md
index 8311cae..f638bb3 100644
--- a/test/integration/v201803-py2/README.md
+++ b/test/integration/v3000-py3/README.md
@@ -1,16 +1,16 @@
-# InSpec Profile: `v201803-py2`
+# InSpec Profile: `v3000-py3`
-This shows the implementation of the `v201803-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
+This shows the implementation of the `v3000-py3` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile
InSpec ships with built-in features to verify a profile structure.
```bash
-$ inspec check v201803-py2
+$ inspec check v3000-py3
Summary
-------
-Location: v201803-py2
+Location: v3000-py3
Profile: profile
Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00
@@ -28,7 +28,7 @@ Warnings
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
```bash
-$ inspec exec v201803-py2
+$ inspec exec v3000-py3
..
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
@@ -40,7 +40,7 @@ Finished in 0.0025 seconds (files took 0.12449 seconds to load)
To run one control from the profile use `inspec exec /path/to/profile --controls name`.
```bash
-$ inspec exec v201803-py2 --controls package
+$ inspec exec v3000-py3 --controls package
.
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
diff --git a/test/integration/v3000-py3/controls/pkgs_spec.rb b/test/integration/v3000-py3/controls/pkgs_spec.rb
new file mode 100644
index 0000000..ef30eaa
--- /dev/null
+++ b/test/integration/v3000-py3/controls/pkgs_spec.rb
@@ -0,0 +1,43 @@
+# frozen_string_literal: true
+
+# Prepare platform "finger"
+platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}"
+
+version =
+ case platform[:family]
+ when 'debian'
+ '3000.3+ds-1'
+ when 'redhat'
+ case platform_finger
+ when 'centos-8'
+ '3000.3-1.el8'
+ when 'centos-7'
+ '3000.3-1.el7'
+ when 'amazon-2'
+ '3000.3-1.amzn2'
+ end
+ when 'fedora'
+ '3000.3-1.fc31'
+ when 'suse'
+ # Issue in the upstream repo, should be `3000.3`
+ case platform[:release]
+ when /^15.2/
+ '3000.2-lp152.7.1'
+ when /^15.1/
+ '3000.2-lp151.2.1'
+ end
+ end
+
+control 'salt packages' do
+ title 'should be installed'
+
+ %w[
+ salt-master
+ salt-minion
+ ].each do |p|
+ describe package(p) do
+ it { should be_installed }
+ its('version') { should eq version }
+ end
+ end
+end
diff --git a/test/integration/v201803-py2/controls/service_spec.rb b/test/integration/v3000-py3/controls/service_spec.rb
similarity index 88%
rename from test/integration/v201803-py2/controls/service_spec.rb
rename to test/integration/v3000-py3/controls/service_spec.rb
index 27f8ae5..9d99883 100644
--- a/test/integration/v201803-py2/controls/service_spec.rb
+++ b/test/integration/v3000-py3/controls/service_spec.rb
@@ -8,6 +8,7 @@ control 'salt services' do
salt-minion
].each do |p|
describe service(p) do
+ it { should be_installed }
it { should be_enabled }
it { should be_running }
end
diff --git a/test/integration/v201707-py2/inspec.yml b/test/integration/v3000-py3/inspec.yml
similarity index 81%
rename from test/integration/v201707-py2/inspec.yml
rename to test/integration/v3000-py3/inspec.yml
index f196e73..883400b 100644
--- a/test/integration/v201707-py2/inspec.yml
+++ b/test/integration/v3000-py3/inspec.yml
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
-name: v201707-py2
+name: v3000-py3
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
-summary: Verify that Salt `v201707-py2` is setup and configured
+summary: Verify that Salt `v3000-py3` is setup and configured
supports:
- platform-name: debian
- platform-name: ubuntu
diff --git a/test/salt/pillar/v201707-py2.sls b/test/salt/pillar/v3000-py2.sls
similarity index 71%
rename from test/salt/pillar/v201707-py2.sls
rename to test/salt/pillar/v3000-py2.sls
index 341c0bf..7d4f917 100644
--- a/test/salt/pillar/v201707-py2.sls
+++ b/test/salt/pillar/v3000-py2.sls
@@ -2,4 +2,4 @@
# vim: ft=yaml
---
salt:
- release: '2017.7'
+ release: '3000'
diff --git a/test/salt/pillar/v201803-py2.sls b/test/salt/pillar/v3000-py3.sls
similarity index 59%
rename from test/salt/pillar/v201803-py2.sls
rename to test/salt/pillar/v3000-py3.sls
index 523ab88..97daba2 100644
--- a/test/salt/pillar/v201803-py2.sls
+++ b/test/salt/pillar/v3000-py3.sls
@@ -2,4 +2,5 @@
# vim: ft=yaml
---
salt:
- release: '2018.3'
+ release: '3000'
+ py_ver: 'py3'