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|[@myii](https://github.com/myii)|112 +@myii|[@myii](https://github.com/myii)|123 @aboe76|[@aboe76](https://github.com/aboe76)|100 @gravyboat|[@gravyboat](https://github.com/gravyboat)|71 @nmadhok|[@nmadhok](https://github.com/nmadhok)|54 @@ -20,6 +20,7 @@ Avatar|Contributor|Contributions @babilen5|[@babilen5](https://github.com/babilen5)|8 @UtahDave|[@UtahDave](https://github.com/UtahDave)|8 @colin-stubbs|[@colin-stubbs](https://github.com/colin-stubbs)|7 +@dafyddj|[@dafyddj](https://github.com/dafyddj)|7 @techhat|[@techhat](https://github.com/techhat)|7 @bradthurber|[@bradthurber](https://github.com/bradthurber)|6 @fizmat|[@fizmat](https://github.com/fizmat)|6 @@ -33,7 +34,6 @@ Avatar|Contributor|Contributions @jbouse|[@jbouse](https://github.com/jbouse)|4 @tampakrap|[@tampakrap](https://github.com/tampakrap)|4 @MSeven|[@MSeven](https://github.com/MSeven)|4 -@dafyddj|[@dafyddj](https://github.com/dafyddj)|3 @pprkut|[@pprkut](https://github.com/pprkut)|3 @jcftang|[@jcftang](https://github.com/jcftang)|3 @johtso|[@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` - `@myii `_ - - 112 + - 123 * - :raw-html-m2r:`@aboe76` - `@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` - `@colin-stubbs `_ - 7 + * - :raw-html-m2r:`@dafyddj` + - `@dafyddj `_ + - 7 * - :raw-html-m2r:`@techhat` - `@techhat `_ - 7 @@ -100,9 +103,6 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@MSeven` - `@MSeven `_ - 4 - * - :raw-html-m2r:`@dafyddj` - - `@dafyddj `_ - - 3 * - :raw-html-m2r:`@pprkut` - `@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'