diff --git a/.github/workflows/kitchen.yml b/.github/workflows/kitchen.yml
new file mode 100644
index 0000000..f910a03
--- /dev/null
+++ b/.github/workflows/kitchen.yml
@@ -0,0 +1,39 @@
+---
+name: CI
+
+'on': [push, pull_request]
+
+env:
+ machine_user: kitchen
+ machine_pass: Pass@word1
+ machine_port: 5985
+ KITCHEN_LOCAL_YAML: kitchen.github.yml
+
+jobs:
+ build:
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/cache@v1
+ with:
+ path: vendor/bundle
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-gems-
+ - shell: powershell
+ run: |
+ $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force
+ New-LocalUser $env:machine_user -Password $password
+ Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user
+ - shell: powershell
+ run: >
+ Set-WSManQuickConfig -Force;
+ Set-WSManInstance -ResourceURI winrm/config/service
+ -ValueSet @{AllowUnencrypted="true"}
+ - run: gem install bundler --quiet --no-document
+ - name: Bundle install
+ run: |
+ bundle config path vendor/bundle
+ bundle install --jobs 4 --retry 3
+ - run: bundle exec kitchen test
diff --git a/.travis.yml b/.travis.yml
index db9c125..d7622ce 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -58,15 +58,28 @@ 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`
- - env: INSTANCE=v3000-py3-debian-10-3000-3-py3
+ - env: INSTANCE=v3001-py3-debian-10-3001-py3
+ # - env: INSTANCE=v3001-py3-debian-9-3001-py3
+ - env: INSTANCE=v3001-py3-ubuntu-2004-3001-py3
+ # - env: INSTANCE=v3001-py3-ubuntu-1804-3001-py3
+ - env: INSTANCE=v3001-py3-centos-8-3001-py3
+ # - env: INSTANCE=v3001-py3-centos-7-3001-py3
+ - env: INSTANCE=v3001-py3-fedora-32-3001-py3
+ # - env: INSTANCE=v3001-py3-fedora-31-3001-py3
+ # - env: INSTANCE=v3001-py3-opensuse-leap-152-3001-py3
+ # - env: INSTANCE=v3001-py3-amazonlinux-2-3001-py3
+ - env: INSTANCE=v3001-py3-oraclelinux-8-3001-py3
+ # - env: INSTANCE=v3001-py3-oraclelinux-7-3001-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-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-py3-oraclelinux-8-3000-3-py3
+ - env: INSTANCE=v3000-py3-oraclelinux-7-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
@@ -75,6 +88,8 @@ jobs:
- env: INSTANCE=v201902-py3-ubuntu-1604-2019-2-py3
# - env: INSTANCE=v201902-py3-centos-8-2019-2-py3
- env: INSTANCE=v201902-py3-centos-7-2019-2-py3
+ # - env: INSTANCE=v201902-py3-fedora-31-2019-2-py3
+ # - env: INSTANCE=v201902-py3-opensuse-leap-152-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
diff --git a/AUTHORS.md b/AUTHORS.md
index b59858c..e259d88 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -4,7 +4,7 @@ This list is sorted by the number of commits per contributor in _descending_ ord
Avatar|Contributor|Contributions
:-:|---|:-:
-
|[@myii](https://github.com/myii)|112
+
|[@myii](https://github.com/myii)|123
|[@aboe76](https://github.com/aboe76)|100
|[@gravyboat](https://github.com/gravyboat)|71
|[@nmadhok](https://github.com/nmadhok)|54
@@ -20,6 +20,7 @@ Avatar|Contributor|Contributions
|[@babilen5](https://github.com/babilen5)|8
|[@UtahDave](https://github.com/UtahDave)|8
|[@colin-stubbs](https://github.com/colin-stubbs)|7
+
|[@dafyddj](https://github.com/dafyddj)|7
|[@techhat](https://github.com/techhat)|7
|[@bradthurber](https://github.com/bradthurber)|6
|[@fizmat](https://github.com/fizmat)|6
@@ -33,7 +34,6 @@ Avatar|Contributor|Contributions
|[@jbouse](https://github.com/jbouse)|4
|[@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
@@ -109,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-06-01.
+Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-07-01.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e87d48d..77b7a40 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,42 @@
# Changelog
+## [1.4.6](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.5...v1.4.6) (2020-07-01)
+
+
+### Bug Fixes
+
+* **freebsd:** command `at` is already present in base system ([b6ab1b1](https://github.com/saltstack-formulas/salt-formula/commit/b6ab1b1d543908ea050cdb928a255dd4e2a3384d))
+
+## [1.4.5](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.4...v1.4.5) (2020-06-28)
+
+
+### Bug Fixes
+
+* **windows:** `py2` should still be default like other platforms ([62f6d39](https://github.com/saltstack-formulas/salt-formula/commit/62f6d39d63cc2e5c134571e20518f7da8c17e09e))
+
+
+### Continuous Integration
+
+* **github:** add Windows testing using Actions ([1eca9c7](https://github.com/saltstack-formulas/salt-formula/commit/1eca9c75519d9ad97dc6526fa83a56477da16579))
+
+
+### Tests
+
+* **windows:** add local testing of Windows using Vagrant/Virtualbox ([0465af7](https://github.com/saltstack-formulas/salt-formula/commit/0465af72dac6d8609f918ce32796c91157422358))
+
+## [1.4.4](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.3...v1.4.4) (2020-06-23)
+
+
+### Continuous Integration
+
+* **kitchen:** use `saltimages` Docker Hub where available [skip ci] ([f66a09c](https://github.com/saltstack-formulas/salt-formula/commit/f66a09c2d69bf676113be9073cd365860e8548a3))
+* **kitchen+travis:** adjust matrix to add `3001` ([9060879](https://github.com/saltstack-formulas/salt-formula/commit/90608799249147f8c0d9e3189b865d8999dc4e5f))
+
+
+### Tests
+
+* **sodium:** add pillar and tests for `3001` ([42cacc2](https://github.com/saltstack-formulas/salt-formula/commit/42cacc253f9f0fbf1411ac19f9dc4169aef5d3f5))
+
## [1.4.3](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.2...v1.4.3) (2020-06-01)
diff --git a/FORMULA b/FORMULA
index 4796bd5..cadb5c1 100644
--- a/FORMULA
+++ b/FORMULA
@@ -1,7 +1,7 @@
name: salt
-os: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows
+os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Oracle, Amazon, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, FreeBSD, OpenBSD, Windows
os_family: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows
-version: 1.4.3
+version: 1.4.6
release: 1
minimum_version: 2015.8
summary: Formula for install Saltstack
diff --git a/Gemfile b/Gemfile
index 5a232b6..414db6d 100644
--- a/Gemfile
+++ b/Gemfile
@@ -5,3 +5,7 @@ source 'https://rubygems.org'
gem 'kitchen-docker', '>= 2.9'
gem 'kitchen-inspec', '>= 1.1'
gem 'kitchen-salt', '>= 0.6.0'
+
+group :vagrant do
+ gem 'kitchen-vagrant'
+end
diff --git a/Gemfile.lock b/Gemfile.lock
index 47fd965..de60746 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -9,168 +9,171 @@ GEM
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
aws-eventstream (1.1.0)
- aws-partitions (1.326.0)
- aws-sdk-apigateway (1.42.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-partitions (1.338.0)
+ aws-sdk-apigateway (1.48.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-apigatewayv2 (1.21.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-apigatewayv2 (1.23.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-athena (1.27.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-athena (1.30.0)
+ aws-sdk-core (~> 3, >= 3.99.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.30.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-budgets (1.32.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudformation (1.36.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-cloudformation (1.41.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudhsm (1.22.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-cloudfront (1.33.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudhsmv2 (1.23.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-cloudhsm (1.24.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudtrail (1.23.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-cloudhsmv2 (1.26.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudwatch (1.38.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-cloudtrail (1.26.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudwatchlogs (1.31.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-cloudwatch (1.41.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-codecommit (1.33.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-cloudwatchlogs (1.34.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-codedeploy (1.31.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-codecommit (1.37.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-codepipeline (1.31.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-codedeploy (1.34.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-configservice (1.45.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-codepipeline (1.34.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-core (3.98.0)
+ aws-sdk-configservice (1.48.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-core (3.103.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
- aws-sdk-costandusagereportservice (1.21.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-costandusagereportservice (1.24.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-dynamodb (1.48.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-dynamodb (1.51.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-ec2 (1.165.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-ec2 (1.174.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-ecr (1.30.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-ecr (1.34.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-ecs (1.63.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-ecs (1.67.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-efs (1.29.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-efs (1.32.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-eks (1.37.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-eks (1.39.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-elasticache (1.36.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-elasticache (1.40.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-elasticbeanstalk (1.31.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-elasticbeanstalk (1.34.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-elasticloadbalancing (1.22.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-elasticloadbalancing (1.25.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-elasticloadbalancingv2 (1.44.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-elasticloadbalancingv2 (1.47.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-elasticsearchservice (1.36.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-elasticsearchservice (1.39.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-firehose (1.28.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-firehose (1.31.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-iam (1.39.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-iam (1.43.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-kafka (1.21.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-kafka (1.23.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-kinesis (1.23.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-kinesis (1.26.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-kms (1.33.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-kms (1.36.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-lambda (1.42.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-lambda (1.46.0)
+ aws-sdk-core (~> 3, >= 3.99.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.85.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-rds (1.92.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-redshift (1.43.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-redshift (1.46.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-route53 (1.35.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-route53 (1.40.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-route53domains (1.22.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-route53domains (1.25.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-route53resolver (1.14.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-route53resolver (1.17.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.67.1)
- aws-sdk-core (~> 3, >= 3.96.1)
+ aws-sdk-s3 (1.73.0)
+ aws-sdk-core (~> 3, >= 3.102.1)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
- aws-sdk-securityhub (1.26.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-securityhub (1.29.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-ses (1.30.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-ses (1.33.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-sms (1.20.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-sms (1.23.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-sns (1.24.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-sns (1.27.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-sqs (1.26.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-sqs (1.30.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-ssm (1.80.0)
- aws-sdk-core (~> 3, >= 3.71.0)
+ aws-sdk-ssm (1.84.0)
+ aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sigv4 (1.1.4)
- aws-eventstream (~> 1.0, >= 1.0.2)
+ aws-sigv4 (1.2.1)
+ aws-eventstream (~> 1, >= 1.0.2)
azure_graph_rbac (0.17.2)
ms_rest_azure (~> 0.12.0)
azure_mgmt_key_vault (0.17.6)
ms_rest_azure (~> 0.12.0)
azure_mgmt_resources (0.17.9)
ms_rest_azure (~> 0.12.0)
- azure_mgmt_security (0.18.1)
+ azure_mgmt_security (0.18.2)
ms_rest_azure (~> 0.12.0)
- azure_mgmt_storage (0.21.1)
+ azure_mgmt_storage (0.21.2)
ms_rest_azure (~> 0.12.0)
bcrypt_pbkdf (1.0.1)
builder (3.2.4)
- chef-config (16.1.16)
+ chef-config (16.2.73)
addressable
- chef-utils (= 16.1.16)
+ chef-utils (= 16.2.73)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
@@ -179,12 +182,12 @@ GEM
chef-config
concurrent-ruby (~> 1.0)
ffi-yajl (~> 2.2)
- chef-utils (16.1.16)
+ chef-utils (16.2.73)
coderay (1.1.3)
concurrent-ruby (1.1.6)
- declarative (0.0.10)
+ declarative (0.0.20)
declarative-option (0.1.0)
- diff-lcs (1.3)
+ diff-lcs (1.4.4)
docker-api (1.34.2)
excon (>= 0.47.0)
multi_json
@@ -195,7 +198,7 @@ GEM
ed25519 (1.2.4)
equatable (0.6.1)
erubi (1.9.0)
- excon (0.73.0)
+ excon (0.75.0)
faraday (0.17.3)
multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6)
@@ -203,7 +206,7 @@ GEM
http-cookie (~> 1.0.0)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
- ffi (1.12.2)
+ ffi (1.13.1)
ffi-yajl (2.3.3)
libyajl2 (~> 1.2)
fuzzyurl (0.9.0)
@@ -235,14 +238,14 @@ GEM
i18n (1.8.3)
concurrent-ruby (~> 1.0)
inifile (3.0.0)
- inspec (4.19.2)
+ inspec (4.21.3)
faraday_middleware (~> 0.12.2)
- inspec-core (= 4.19.2)
+ inspec-core (= 4.21.3)
train (~> 3.0)
train-aws (~> 0.1)
train-habitat (~> 0.1)
train-winrm (~> 0.2)
- inspec-core (4.19.2)
+ inspec-core (4.21.3)
addressable (~> 2.4)
chef-telemetry (~> 1.0)
faraday (>= 0.9.0)
@@ -263,12 +266,12 @@ GEM
sslshake (~> 1.2)
term-ansicolor (~> 1.7)
thor (>= 0.20, < 2.0)
- tomlrb (~> 1.2)
+ tomlrb (~> 1.2.0)
train-core (~> 3.0)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
jmespath (1.4.0)
- json (2.3.0)
+ json (2.3.1)
json_schemer (0.2.11)
ecma-re-validator (~> 0.2)
hana (~> 1.3)
@@ -284,6 +287,8 @@ GEM
kitchen-salt (0.6.3)
hashie (>= 3.5)
test-kitchen (>= 1.4)
+ kitchen-vagrant (1.6.1)
+ test-kitchen (>= 1.4, < 3)
libyajl2 (1.2.0)
license-acceptance (1.0.19)
pastel (~> 0.7)
@@ -291,9 +296,9 @@ GEM
tty-box (~> 0.3)
tty-prompt (~> 0.18)
little-plugger (1.1.4)
- logging (2.2.2)
+ logging (2.3.0)
little-plugger (~> 1.1)
- multi_json (~> 1.10)
+ multi_json (~> 1.14)
memoist (0.16.2)
method_source (1.0.0)
mini_mime (1.0.2)
@@ -321,12 +326,12 @@ GEM
necromancer (0.5.1)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
- net-ssh (5.2.0)
+ net-ssh (6.1.0)
net-ssh-gateway (2.0.0)
net-ssh (>= 4.0.0)
nori (2.6.0)
os (1.1.0)
- parallel (1.19.1)
+ parallel (1.19.2)
parslet (1.8.2)
pastel (0.7.4)
equatable (~> 0.6)
@@ -335,7 +340,7 @@ GEM
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (4.0.5)
- regexp_parser (1.7.0)
+ regexp_parser (1.7.1)
representable (3.0.4)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
@@ -365,7 +370,7 @@ GEM
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
- sslshake (1.3.0)
+ sslshake (1.3.1)
strings (0.1.8)
strings-ansi (~> 0.1)
unicode-display_width (~> 1.5)
@@ -374,7 +379,7 @@ GEM
sync (0.5.0)
term-ansicolor (1.7.1)
tins (~> 1.0)
- test-kitchen (2.5.1)
+ test-kitchen (2.5.2)
bcrypt_pbkdf (~> 1.0)
ed25519 (~> 1.2)
license-acceptance (~> 1.0, >= 1.0.11)
@@ -383,17 +388,17 @@ GEM
net-scp (>= 1.1, < 4.0)
net-ssh (>= 2.9, < 7.0)
net-ssh-gateway (>= 1.2, < 3.0)
- thor (~> 0.19)
+ thor (>= 0.19, < 2.0)
winrm (~> 2.0)
winrm-elevated (~> 1.0)
winrm-fs (~> 1.1)
- thor (0.20.3)
+ thor (1.0.1)
thread_safe (0.3.6)
timeliness (0.3.10)
tins (1.25.0)
sync
- tomlrb (1.3.0)
- train (3.2.37)
+ tomlrb (1.2.9)
+ train (3.3.6)
activesupport (>= 5.2.4.3, < 6.0.0)
azure_graph_rbac (~> 0.16)
azure_mgmt_key_vault (~> 0.17)
@@ -404,15 +409,16 @@ GEM
google-api-client (>= 0.23.9, < 0.35.0)
googleauth (>= 0.6.6, < 0.11.0)
inifile (~> 3.0)
- train-core (= 3.2.37)
+ train-core (= 3.3.6)
train-winrm (~> 0.2)
- train-aws (0.1.16)
+ train-aws (0.1.17)
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-cloudfront (~> 1.0)
aws-sdk-cloudhsm (~> 1.0)
aws-sdk-cloudhsmv2 (~> 1.0)
aws-sdk-cloudtrail (~> 1.8)
@@ -454,13 +460,13 @@ GEM
aws-sdk-sns (~> 1.9)
aws-sdk-sqs (~> 1.10)
aws-sdk-ssm (~> 1.0)
- train-core (3.2.37)
+ train-core (3.3.6)
addressable (~> 2.5)
- ffi (< 1.13)
+ ffi (!= 1.13.0)
json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 4.0)
- net-ssh (>= 2.9, < 6.0)
+ net-ssh (>= 2.9, < 7.0)
train-habitat (0.2.13)
train-winrm (0.2.6)
winrm (~> 2.0)
@@ -522,6 +528,7 @@ DEPENDENCIES
kitchen-docker (>= 2.9)
kitchen-inspec (>= 1.1)
kitchen-salt (>= 0.6.0)
+ kitchen-vagrant
BUNDLED WITH
2.1.2
diff --git a/docs/AUTHORS.rst b/docs/AUTHORS.rst
index cbea34b..219adf2 100644
--- a/docs/AUTHORS.rst
+++ b/docs/AUTHORS.rst
@@ -15,7 +15,7 @@ This list is sorted by the number of commits per contributor in *descending* ord
- Contributions
* - :raw-html-m2r:`
`
- `@myii `_
- - 112
+ - 123
* - :raw-html-m2r:`
`
- `@aboe76 `_
- 100
@@ -61,6 +61,9 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:`
`
- `@colin-stubbs `_
- 7
+ * - :raw-html-m2r:`
`
+ - `@dafyddj `_
+ - 7
* - :raw-html-m2r:`
`
- `@techhat `_
- 7
@@ -100,9 +103,6 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:`
`
- `@MSeven `_
- 4
- * - :raw-html-m2r:`
`
- - `@dafyddj `_
- - 3
* - :raw-html-m2r:`
`
- `@pprkut `_
- 3
@@ -323,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-06-01.
+Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2020-07-01.
diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst
index 5396b17..bf3fa8b 100644
--- a/docs/CHANGELOG.rst
+++ b/docs/CHANGELOG.rst
@@ -2,6 +2,52 @@
Changelog
=========
+`1.4.6 `_ (2020-07-01)
+------------------------------------------------------------------------------------------------------
+
+Bug Fixes
+^^^^^^^^^
+
+
+* **freebsd:** command ``at`` is already present in base system (\ `b6ab1b1 `_\ )
+
+`1.4.5 `_ (2020-06-28)
+------------------------------------------------------------------------------------------------------
+
+Bug Fixes
+^^^^^^^^^
+
+
+* **windows:** ``py2`` should still be default like other platforms (\ `62f6d39 `_\ )
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **github:** add Windows testing using Actions (\ `1eca9c7 `_\ )
+
+Tests
+^^^^^
+
+
+* **windows:** add local testing of Windows using Vagrant/Virtualbox (\ `0465af7 `_\ )
+
+`1.4.4 `_ (2020-06-23)
+------------------------------------------------------------------------------------------------------
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **kitchen:** use ``saltimages`` Docker Hub where available [skip ci] (\ `f66a09c `_\ )
+* **kitchen+travis:** adjust matrix to add ``3001`` (\ `9060879 `_\ )
+
+Tests
+^^^^^
+
+
+* **sodium:** add pillar and tests for ``3001`` (\ `42cacc2 `_\ )
+
`1.4.3 `_ (2020-06-01)
------------------------------------------------------------------------------------------------------
diff --git a/docs/README.rst b/docs/README.rst
index fa8d29c..fde8eb3 100644
--- a/docs/README.rst
+++ b/docs/README.rst
@@ -251,3 +251,65 @@ Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``veri
^^^^^^^^^^^^^^^^^^^^^
Gives you SSH access to the instance for manual testing.
+
+Testing with Vagrant
+--------------------
+
+Windows testing is done with ``kitchen-salt``.
+
+Requirements
+^^^^^^^^^^^^
+
+* Ruby
+* Virtualbox
+* Vagrant
+
+Setup
+^^^^^
+
+.. code-block:: bash
+
+ $ gem install bundler
+ $ bundle install --with=vagrant
+ $ bin/kitchen test [platform]
+
+Where ``[platform]`` is the platform name defined in ``kitchen.yml``,
+e.g. ``windows``.
+
+Note
+^^^^
+
+When testing using Vagrant you must set the environment variable ``KITCHEN_LOCAL_YAML`` to ``kitchen.vagrant.yml``. For example:
+
+.. code-block:: bash
+
+ $ KITCHEN_LOCAL_YAML=kitchen.vagrant.yml bin/kitchen test # Alternatively,
+ $ export KITCHEN_LOCAL_YAML=kitchen.vagrant.yml
+ $ bin/kitchen test
+
+Then run the following commands as needed.
+
+``bin/kitchen converge``
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Creates the Vagrant instance and runs the ``salt.minion`` main state, ready for testing.
+
+``bin/kitchen verify``
+^^^^^^^^^^^^^^^^^^^^^^
+
+Runs the ``inspec`` tests on the actual instance.
+
+``bin/kitchen destroy``
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Removes the Vagrant instance.
+
+``bin/kitchen test``
+^^^^^^^^^^^^^^^^^^^^
+
+Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``verify`` + ``destroy``.
+
+``bin/kitchen login``
+^^^^^^^^^^^^^^^^^^^^^
+
+Gives you RDP access to the instance for manual testing.
diff --git a/kitchen.github.yml b/kitchen.github.yml
new file mode 100644
index 0000000..87357fe
--- /dev/null
+++ b/kitchen.github.yml
@@ -0,0 +1,40 @@
+---
+driver:
+ name: proxy
+ host: localhost
+ reset_command: "exit 0"
+ port: 5985
+ username: kitchen
+ password: Pass@word1
+
+platforms:
+ - name: windows
+
+provisioner:
+ salt_install: bootstrap
+ salt_bootstrap_options: -pythonVersion 3 -version 3000.3
+ init_environment: >
+ C:\salt\salt-call --local state.single file.managed
+ C:\Users\kitchen\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\salt-minion-py3.sls
+ source=https://github.com/saltstack/salt-winrepo-ng/raw/master/salt-minion-py3.sls
+ skip_verify=True makedirs=True
+
+suites:
+ - name: v3000-py3
+ provisioner:
+ state_top:
+ base:
+ '*':
+ - 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
diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml
new file mode 100644
index 0000000..3b6cda7
--- /dev/null
+++ b/kitchen.vagrant.yml
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+# vim: ft=yaml
+---
+driver:
+ name: vagrant
+
+platforms:
+ - name: windows-81
+ driver:
+ box: techneg/win81x64-pro-salt
+ gui: false
+ linked_clone: true
+ provisioner:
+ init_environment: >
+ salt-call --local state.single file.managed
+ C:\Users\vagrant\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\salt-minion-py3.sls
+ source=https://github.com/saltstack/salt-winrepo-ng/raw/master/salt-minion-py3.sls
+ skip_verify=True makedirs=True
+
+suites:
+ - name: v3000-py3
+ provisioner:
+ state_top:
+ base:
+ '*':
+ - 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
diff --git a/kitchen.yml b/kitchen.yml
index 314c194..2590626 100644
--- a/kitchen.yml
+++ b/kitchen.yml
@@ -11,80 +11,132 @@ driver:
# Make sure the platforms listed below match up with
# the `env.matrix` instances defined in `.travis.yml`
platforms:
- ## SALT `3000.3`
- - name: debian-10-3000-3-py3
+ ## SALT `3001`
+ - name: debian-10-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:debian-10
- - name: debian-9-3000-3-py3
+ image: saltimages/salt-3001-py3:debian-10
+ - name: debian-9-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:debian-9
- - name: ubuntu-1804-3000-3-py3
+ image: saltimages/salt-3001-py3:debian-9
+ - name: ubuntu-2004-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:ubuntu-18.04
- - name: centos-8-3000-3-py3
+ image: saltimages/salt-3001-py3:ubuntu-20.04
+ - name: ubuntu-1804-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:centos-8
- - name: centos-7-3000-3-py3
+ image: saltimages/salt-3001-py3:ubuntu-18.04
+ - name: centos-8-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:centos-7
- - name: fedora-31-3000-3-py3
+ image: saltimages/salt-3001-py3:centos-8
+ - name: centos-7-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:fedora-31
- - name: opensuse-leap-152-3000-3-py3
+ image: saltimages/salt-3001-py3:centos-7
+ - name: fedora-32-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:opensuse-leap-15.2
+ image: saltimages/salt-3001-py3:fedora-32
+ - name: fedora-31-3001-py3
+ driver:
+ image: saltimages/salt-3001-py3:fedora-31
+ - name: opensuse-leap-152-3001-py3
+ driver:
+ image: saltimages/salt-3001-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# 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
+ - name: amazonlinux-2-3001-py3
driver:
- image: netmanagers/salt-3000.3-py3:opensuse-leap-15.1
+ image: saltimages/salt-3001-py3:amazonlinux-2
+ - name: oraclelinux-8-3001-py3
+ driver:
+ image: saltimages/salt-3001-py3:oraclelinux-8
+ - name: oraclelinux-7-3001-py3
+ driver:
+ image: saltimages/salt-3001-py3:oraclelinux-7
+
+ ## SALT `3000.3`
+ - name: debian-10-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:debian-10
+ - name: debian-9-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:debian-9
+ - name: ubuntu-1804-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:ubuntu-18.04
+ - name: centos-8-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:centos-8
+ - name: centos-7-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:centos-7
+ - name: fedora-31-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:fedora-31
+ - name: opensuse-leap-152-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
- # Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
+ # 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: amazonlinux-2-3000-3-py3
driver:
- image: netmanagers/salt-3000.3-py3:amazonlinux-2
+ image: saltimages/salt-3000.3-py3:amazonlinux-2
+ - name: oraclelinux-8-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:oraclelinux-8
+ - name: oraclelinux-7-3000-3-py3
+ driver:
+ image: saltimages/salt-3000.3-py3:oraclelinux-7
- name: ubuntu-1804-3000-3-py2
driver:
- image: netmanagers/salt-3000.3-py2:ubuntu-18.04
+ image: saltimages/salt-3000.3-py2:ubuntu-18.04
- name: ubuntu-1604-3000-3-py2
driver:
- image: netmanagers/salt-3000.3-py2:ubuntu-16.04
+ image: saltimages/salt-3000.3-py2:ubuntu-16.04
## SALT `2019.2`
- name: debian-10-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:debian-10
+ image: saltimages/salt-2019.2-py3:debian-10
- name: debian-9-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:debian-9
+ image: saltimages/salt-2019.2-py3:debian-9
- name: ubuntu-1804-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:ubuntu-18.04
+ image: saltimages/salt-2019.2-py3:ubuntu-18.04
- name: ubuntu-1604-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:ubuntu-16.04
+ image: saltimages/salt-2019.2-py3:ubuntu-16.04
- name: centos-8-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:centos-8
+ image: saltimages/salt-2019.2-py3:centos-8
- name: centos-7-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:centos-7
+ image: saltimages/salt-2019.2-py3:centos-7
+ - name: fedora-31-2019-2-py3
+ driver:
+ image: saltimages/salt-2019.2-py3:fedora-31
+ - name: opensuse-leap-152-2019-2-py3
+ driver:
+ image: saltimages/salt-2019.2-py3:opensuse-leap-15.2
+ run_command: /usr/lib/systemd/systemd
+ # 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: amazonlinux-2-2019-2-py3
driver:
- image: netmanagers/salt-2019.2-py3:amazonlinux-2
+ image: saltimages/salt-2019.2-py3:amazonlinux-2
- name: centos-6-2019-2-py2
driver:
- image: netmanagers/salt-2019.2-py2:centos-6
+ image: saltimages/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
+ image: saltimages/salt-2019.2-py2:amazonlinux-1
run_command: /sbin/init
provisioner:
@@ -106,6 +158,39 @@ verifier:
- cli
suites:
+ - name: v3001-py3
+ includes:
+ - debian-10-3001-py3
+ - debian-9-3001-py3
+ - ubuntu-2004-3001-py3
+ - ubuntu-1804-3001-py3
+ - centos-8-3001-py3
+ - centos-7-3001-py3
+ - fedora-32-3001-py3
+ - fedora-31-3001-py3
+ - opensuse-leap-152-3001-py3
+ - amazonlinux-2-3001-py3
+ - oraclelinux-8-3001-py3
+ - oraclelinux-7-3001-py3
+ provisioner:
+ state_top:
+ base:
+ '*':
+ - salt.pkgrepo
+ - salt.master
+ - salt.minion
+ pillars:
+ top.sls:
+ base:
+ '*':
+ - salt
+ - v3001-py3
+ pillars_from_files:
+ salt.sls: test/salt/pillar/salt.sls
+ v3001-py3.sls: test/salt/pillar/v3001-py3.sls
+ verifier:
+ inspec_tests:
+ - path: test/integration/v3001-py3
- name: v3000-py3
includes:
- debian-10-3000-3-py3
@@ -115,8 +200,9 @@ suites:
- 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
+ - oraclelinux-8-3000-3-py3
+ - oraclelinux-7-3000-3-py3
provisioner:
state_top:
base:
@@ -167,6 +253,8 @@ suites:
- ubuntu-1604-2019-2-py3
- centos-8-2019-2-py3
- centos-7-2019-2-py3
+ - fedora-31-2019-2-py3
+ - opensuse-leap-152-2019-2-py3
- amazonlinux-2-2019-2-py3
provisioner:
state_top:
diff --git a/salt/minion.sls b/salt/minion.sls
index 301c74a..e45f1cb 100644
--- a/salt/minion.sls
+++ b/salt/minion.sls
@@ -143,18 +143,17 @@ salt-minion:
- file: remove-old-minion-conf-file
{%- else %}
- {% if grains.os != 'MacOS' %}
- {# MacOS has 'at' command; but there's no package to install #}
+ {% if grains.os_family not in ['MacOS', 'FreeBSD'] %}
+ {# MacOS and FreeBSD have the 'at' command; but there's no package to install #}
at:
- pkg.installed: []
- {% endif %}
+ pkg.installed:
+ - require_in: restart-salt-minion
+ {% endif %}
restart-salt-minion:
cmd.run:
- name: echo salt-call --local service.restart {{ salt_settings.minion_service }} | at now + 1 minute
- order: last
- - require:
- - pkg: at
- onchanges:
{%- if salt_settings.install_packages %}
{%- if grains.os == 'MacOS' and salt_settings.salt_minion_pkg_source %}
diff --git a/salt/osfamilymap.yaml b/salt/osfamilymap.yaml
index 8fcba19..1a530d8 100644
--- a/salt/osfamilymap.yaml
+++ b/salt/osfamilymap.yaml
@@ -127,7 +127,7 @@ OpenBSD:
python_git: py-GitPython
Windows:
- salt_minion: salt-minion{{ py_ver_repr or '-py3' }}
+ salt_minion: salt-minion{{ '-' ~ py_ver_repr if py_ver_repr else '' }}
config_path: 'C:\salt\conf'
minion_service: salt-minion
diff --git a/test/integration/v201902-py2/inspec.yml b/test/integration/v201902-py2/inspec.yml
index 688d010..843004d 100644
--- a/test/integration/v201902-py2/inspec.yml
+++ b/test/integration/v201902-py2/inspec.yml
@@ -15,4 +15,5 @@ supports:
- platform-name: suse
- platform-name: freebsd
- platform-name: amazon
+ - platform-name: oracle
- platform-name: arch
diff --git a/test/integration/v201902-py3/inspec.yml b/test/integration/v201902-py3/inspec.yml
index 253280f..ecee5b4 100644
--- a/test/integration/v201902-py3/inspec.yml
+++ b/test/integration/v201902-py3/inspec.yml
@@ -15,4 +15,5 @@ supports:
- platform-name: suse
- platform-name: freebsd
- platform-name: amazon
+ - platform-name: oracle
- platform-name: arch
diff --git a/test/integration/v3000-py2/inspec.yml b/test/integration/v3000-py2/inspec.yml
index a70fde0..beac59f 100644
--- a/test/integration/v3000-py2/inspec.yml
+++ b/test/integration/v3000-py2/inspec.yml
@@ -15,4 +15,5 @@ supports:
- platform-name: suse
- platform-name: freebsd
- platform-name: amazon
+ - platform-name: oracle
- platform-name: arch
diff --git a/test/integration/v3000-py3/controls/pkgs_spec.rb b/test/integration/v3000-py3/controls/pkgs_spec.rb
index d583f13..00f1191 100644
--- a/test/integration/v3000-py3/controls/pkgs_spec.rb
+++ b/test/integration/v3000-py3/controls/pkgs_spec.rb
@@ -1,14 +1,19 @@
# frozen_string_literal: true
+pkgs =
+ case platform[:family]
+ when 'windows'
+ %w[Salt\ Minion]
+ else
+ %w[salt-master salt-minion]
+ end
+
control 'salt packages' do
title 'should be installed'
version = '3000.3'
- %w[
- salt-master
- salt-minion
- ].each do |p|
+ pkgs.each do |p|
describe package(p) do
it { should be_installed }
its('version') { should match(/^#{version}/) }
diff --git a/test/integration/v3000-py3/controls/service_spec.rb b/test/integration/v3000-py3/controls/service_spec.rb
index 9d99883..303b136 100644
--- a/test/integration/v3000-py3/controls/service_spec.rb
+++ b/test/integration/v3000-py3/controls/service_spec.rb
@@ -1,12 +1,17 @@
# frozen_string_literal: true
+services =
+ case platform[:family]
+ when 'windows'
+ %w[salt-minion]
+ else
+ %w[salt-master salt-minion]
+ end
+
control 'salt services' do
title 'should be running'
- %w[
- salt-master
- salt-minion
- ].each do |p|
+ services.each do |p|
describe service(p) do
it { should be_installed }
it { should be_enabled }
diff --git a/test/integration/v3000-py3/inspec.yml b/test/integration/v3000-py3/inspec.yml
index 883400b..c0da1ca 100644
--- a/test/integration/v3000-py3/inspec.yml
+++ b/test/integration/v3000-py3/inspec.yml
@@ -15,4 +15,6 @@ supports:
- platform-name: suse
- platform-name: freebsd
- platform-name: amazon
+ - platform-name: oracle
- platform-name: arch
+ - platform: windows
diff --git a/test/integration/v3001-py3/README.md b/test/integration/v3001-py3/README.md
new file mode 100644
index 0000000..aa1bb89
--- /dev/null
+++ b/test/integration/v3001-py3/README.md
@@ -0,0 +1,50 @@
+# InSpec Profile: `v3001-py3`
+
+This shows the implementation of the `v3001-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 v3001-py3
+Summary
+-------
+Location: v3001-py3
+Profile: profile
+Controls: 4
+Timestamp: 2019-06-24T23:09:01+00:00
+Valid: true
+
+Errors
+------
+
+Warnings
+--------
+```
+
+## Execute a profile
+
+To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
+
+```bash
+$ inspec exec v3001-py3
+..
+
+Finished in 0.0025 seconds (files took 0.12449 seconds to load)
+8 examples, 0 failures
+```
+
+## Execute a specific control from a profile
+
+To run one control from the profile use `inspec exec /path/to/profile --controls name`.
+
+```bash
+$ inspec exec v3001-py3 --controls package
+.
+
+Finished in 0.0025 seconds (files took 0.12449 seconds to load)
+1 examples, 0 failures
+```
+
+See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb).
diff --git a/test/integration/v3001-py3/controls/pkgs_spec.rb b/test/integration/v3001-py3/controls/pkgs_spec.rb
new file mode 100644
index 0000000..91d629d
--- /dev/null
+++ b/test/integration/v3001-py3/controls/pkgs_spec.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+control 'salt packages' do
+ title 'should be installed'
+
+ version = '3001'
+
+ %w[
+ salt-master
+ salt-minion
+ ].each do |p|
+ describe package(p) do
+ it { should be_installed }
+ its('version') { should match(/^#{version}/) }
+ end
+ end
+end
diff --git a/test/integration/v3001-py3/controls/service_spec.rb b/test/integration/v3001-py3/controls/service_spec.rb
new file mode 100644
index 0000000..9d99883
--- /dev/null
+++ b/test/integration/v3001-py3/controls/service_spec.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+control 'salt services' do
+ title 'should be running'
+
+ %w[
+ salt-master
+ salt-minion
+ ].each do |p|
+ describe service(p) do
+ it { should be_installed }
+ it { should be_enabled }
+ it { should be_running }
+ end
+ end
+end
diff --git a/test/integration/v3001-py3/inspec.yml b/test/integration/v3001-py3/inspec.yml
new file mode 100644
index 0000000..32debc1
--- /dev/null
+++ b/test/integration/v3001-py3/inspec.yml
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# vim: ft=yaml
+---
+name: v3001-py3
+title: salt formula
+maintainer: SaltStack Formulas
+license: Apache-2.0
+summary: Verify that Salt `v3001-py3` is setup and configured
+supports:
+ - platform-name: debian
+ - platform-name: ubuntu
+ - platform-name: centos
+ - platform-name: fedora
+ - platform-name: opensuse
+ - platform-name: suse
+ - platform-name: freebsd
+ - platform-name: amazon
+ - platform-name: oracle
+ - platform-name: arch
diff --git a/test/salt/pillar/v3001-py3.sls b/test/salt/pillar/v3001-py3.sls
new file mode 100644
index 0000000..cbeffe1
--- /dev/null
+++ b/test/salt/pillar/v3001-py3.sls
@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+# vim: ft=yaml
+---
+salt:
+ release: '3001'
+ py_ver: 'py3'