diff --git a/.github/workflows/kitchen.macos.yml b/.github/workflows/kitchen.macos.yml
new file mode 100644
index 000000000..038ceb61e
--- /dev/null
+++ b/.github/workflows/kitchen.macos.yml
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+# vim: ft=yaml
+---
+name: 'Kitchen (macOS)'
+'on': ['push', 'pull_request']
+
+env:
+ KITCHEN_LOCAL_YAML: 'kitchen.macos.yml'
+
+jobs:
+ test-12:
+ runs-on: 'macos-12'
+ strategy:
+ fail-fast: false
+ matrix:
+ instance:
+ - default-macos-12-latest-py3
+ steps:
+ - name: 'Check out code'
+ uses: 'actions/checkout@v2'
+ - name: 'Set up Bundler cache'
+ uses: 'actions/cache@v1'
+ with:
+ path: 'vendor/bundle'
+ key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}"
+ restore-keys: "${{ runner.os }}-gems-"
+ - name: 'Run Bundler'
+ run: |
+ ruby --version
+ bundle config path vendor/bundle
+ bundle install --jobs 4 --retry 3
+ - name: 'Run Test Kitchen'
+ run: 'bundle exec kitchen verify ${{ matrix.instance }}'
+ test-11:
+ runs-on: 'macos-11'
+ strategy:
+ fail-fast: false
+ matrix:
+ instance:
+ - default-macos-11-latest-py3
+ steps:
+ - name: 'Check out code'
+ uses: 'actions/checkout@v2'
+ - name: 'Set up Bundler cache'
+ uses: 'actions/cache@v1'
+ with:
+ path: 'vendor/bundle'
+ key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}"
+ restore-keys: "${{ runner.os }}-gems-"
+ - name: 'Run Bundler'
+ run: |
+ ruby --version
+ bundle config path vendor/bundle
+ bundle install --jobs 4 --retry 3
+ - name: 'Run Test Kitchen'
+ run: 'bundle exec kitchen verify ${{ matrix.instance }}'
+ test-1015:
+ runs-on: 'macos-10.15'
+ strategy:
+ fail-fast: false
+ matrix:
+ instance:
+ - default-macos-1015-latest-py3
+ steps:
+ - name: 'Check out code'
+ uses: 'actions/checkout@v2'
+ - name: 'Set up Bundler cache'
+ uses: 'actions/cache@v1'
+ with:
+ path: 'vendor/bundle'
+ key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}"
+ restore-keys: "${{ runner.os }}-gems-"
+ - name: 'Run Bundler'
+ run: |
+ ruby --version
+ bundle config path vendor/bundle
+ bundle install --jobs 4 --retry 3
+ - name: 'Run Test Kitchen'
+ run: 'bundle exec kitchen verify ${{ matrix.instance }}'
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2c37c38ab..afbe8fae7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -134,6 +134,7 @@ rubocop:
# default-debian-11-tiamat-py3: {extends: '.test_instance'}
# default-debian-10-tiamat-py3: {extends: '.test_instance'}
# default-debian-9-tiamat-py3: {extends: '.test_instance'}
+# default-ubuntu-2204-tiamat-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
# default-centos-stream8-tiamat-py3: {extends: '.test_instance_failure_permitted'}
@@ -146,6 +147,7 @@ rubocop:
# default-debian-11-master-py3: {extends: '.test_instance'}
# default-debian-10-master-py3: {extends: '.test_instance'}
# default-debian-9-master-py3: {extends: '.test_instance'}
+# default-ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-master-py3: {extends: '.test_instance'}
# default-ubuntu-1804-master-py3: {extends: '.test_instance'}
# default-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
@@ -166,6 +168,7 @@ rubocop:
default-debian-11-3004-1-py3: {extends: '.test_instance'}
# default-debian-10-3004-1-py3: {extends: '.test_instance'}
# default-debian-9-3004-1-py3: {extends: '.test_instance'}
+default-ubuntu-2204-3004-1-py3: {extends: '.test_instance_failure_permitted'}
default-ubuntu-2004-3004-1-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3004-1-py3: {extends: '.test_instance'}
default-centos-stream8-3004-1-py3: {extends: '.test_instance_failure_permitted'}
diff --git a/.travis.yml b/.travis.yml
index 97aa99776..d1824fe1d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -86,6 +86,7 @@ jobs:
# - env: INSTANCE=default-debian-11-tiamat-py3
# - env: INSTANCE=default-debian-10-tiamat-py3
# - env: INSTANCE=default-debian-9-tiamat-py3
+ # - env: INSTANCE=default-ubuntu-2204-tiamat-py3
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3
# - env: INSTANCE=default-centos-stream8-tiamat-py3
@@ -98,6 +99,7 @@ jobs:
# - env: INSTANCE=default-debian-11-master-py3
# - env: INSTANCE=default-debian-10-master-py3
# - env: INSTANCE=default-debian-9-master-py3
+ # - env: INSTANCE=default-ubuntu-2204-master-py3
# - env: INSTANCE=default-ubuntu-2004-master-py3
# - env: INSTANCE=default-ubuntu-1804-master-py3
# - env: INSTANCE=default-centos-stream8-master-py3
@@ -118,6 +120,7 @@ jobs:
- env: INSTANCE=default-debian-11-3004-1-py3
# - env: INSTANCE=default-debian-10-3004-1-py3
# - env: INSTANCE=default-debian-9-3004-1-py3
+ - env: INSTANCE=default-ubuntu-2204-3004-1-py3
- env: INSTANCE=default-ubuntu-2004-3004-1-py3
# - env: INSTANCE=default-ubuntu-1804-3004-1-py3
- env: INSTANCE=default-centos-stream8-3004-1-py3
diff --git a/AUTHORS.md b/AUTHORS.md
index 6187493bc..a7a388a99 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)|279
+
|[@myii](https://github.com/myii)|285
|[@aboe76](https://github.com/aboe76)|102
|[@gravyboat](https://github.com/gravyboat)|71
|[@nmadhok](https://github.com/nmadhok)|54
@@ -114,4 +114,4 @@ Avatar|Contributor|Contributions
---
-Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2022-04-13.
+Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2022-05-17.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b16516b3d..5e764bb28 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,35 @@
# Changelog
+# [1.11.0](https://github.com/saltstack-formulas/salt-formula/compare/v1.10.3...v1.11.0) (2022-05-17)
+
+
+### Bug Fixes
+
+* **minion:** replace literals with `rootuser` & `rootgroup` from map ([b2316ed](https://github.com/saltstack-formulas/salt-formula/commit/b2316ed17b7c60e5a4ee394f18fcad70572dc53d))
+
+
+### Code Refactoring
+
+* **minion:** use `pkg.installed` state for macOS ([3eff2d2](https://github.com/saltstack-formulas/salt-formula/commit/3eff2d2acf43eb87015007fdfc5dd92bb8edaaf7))
+
+
+### Continuous Integration
+
+* **macos:** enable testing using GitHub Actions ([8ab60b9](https://github.com/saltstack-formulas/salt-formula/commit/8ab60b9689158035a4d60a165729135b086e499d))
+* **vagrant:** use `linked_clone` at all times (inc. CI) [skip ci] ([18a6230](https://github.com/saltstack-formulas/salt-formula/commit/18a62308564faefa53cfc2b535a7fb9763c0c130))
+
+
+### Features
+
+* **macos:** use `saltstack` as package to install ([c05fddf](https://github.com/saltstack-formulas/salt-formula/commit/c05fddf139e2a7ba9032ed1d1710929b9679b59c))
+
+
+### Tests
+
+* **macos:** add `map.jinja` verification files ([c1c635f](https://github.com/saltstack-formulas/salt-formula/commit/c1c635fda48384c13284fbb424c88a1bfd3f0486))
+* **macos:** update for this platform ([dc9cff9](https://github.com/saltstack-formulas/salt-formula/commit/dc9cff99c5bcc487a68f488bbe419758ac72987c))
+* **system.rb:** add support for `mac_os_x` [skip ci] ([e8a1237](https://github.com/saltstack-formulas/salt-formula/commit/e8a12376324a1ae6a62485da6b84ccb3df8ac484))
+
## [1.10.3](https://github.com/saltstack-formulas/salt-formula/compare/v1.10.2...v1.10.3) (2022-04-13)
diff --git a/FORMULA b/FORMULA
index cb9cf695a..6e8b67ce1 100644
--- a/FORMULA
+++ b/FORMULA
@@ -1,7 +1,7 @@
name: salt
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.10.3
+version: 1.11.0
release: 1
minimum_version: 2015.8
summary: Formula for install Saltstack
diff --git a/Gemfile.lock b/Gemfile.lock
index f8126ba30..93d667a2a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,12 +1,12 @@
GIT
remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec
- revision: 1821d2dfd3365e8f05b8439845c58fa4d069806b
+ revision: ece601f5dd4bacf5d0dca49cd5c13896a7120255
branch: ssf
specs:
- inspec (5.12.2)
+ inspec (5.15.0)
cookstyle
faraday_middleware (>= 0.12.2, < 1.1)
- inspec-core (= 5.12.2)
+ inspec-core (= 5.15.0)
mongo (= 2.13.2)
progress_bar (~> 1.3.3)
rake
@@ -14,7 +14,7 @@ GIT
train-aws (~> 0.2)
train-habitat (~> 0.1)
train-winrm (~> 0.2)
- inspec-core (5.12.2)
+ inspec-core (5.15.0)
addressable (~> 2.4)
chef-telemetry (~> 1.0, >= 1.0.8)
faraday (>= 0.9.0, < 1.5)
@@ -49,7 +49,7 @@ GIT
GEM
remote: https://rubygems.org/
specs:
- activesupport (7.0.2.3)
+ activesupport (7.0.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@@ -58,7 +58,7 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
ast (2.4.2)
aws-eventstream (1.2.0)
- aws-partitions (1.574.0)
+ aws-partitions (1.587.0)
aws-sdk-alexaforbusiness (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
@@ -74,7 +74,7 @@ GEM
aws-sdk-applicationautoscaling (1.51.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
- aws-sdk-athena (1.52.0)
+ aws-sdk-athena (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.63.0)
@@ -89,7 +89,7 @@ GEM
aws-sdk-cloudformation (1.68.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudfront (1.63.0)
+ aws-sdk-cloudfront (1.64.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.39.0)
@@ -98,10 +98,10 @@ GEM
aws-sdk-cloudhsmv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudtrail (1.48.0)
+ aws-sdk-cloudtrail (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-cloudwatch (1.62.0)
+ aws-sdk-cloudwatch (1.64.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchevents (1.46.0)
@@ -128,7 +128,7 @@ GEM
aws-sdk-configservice (1.77.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-core (3.130.0)
+ aws-sdk-core (3.130.2)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
@@ -142,7 +142,7 @@ GEM
aws-sdk-dynamodb (1.74.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-ec2 (1.305.0)
+ aws-sdk-ec2 (1.312.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.56.0)
@@ -154,13 +154,13 @@ GEM
aws-sdk-ecs (1.99.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-efs (1.53.0)
+ aws-sdk-efs (1.54.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.74.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-elasticache (1.76.0)
+ aws-sdk-elasticache (1.77.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.51.0)
@@ -187,7 +187,7 @@ GEM
aws-sdk-glue (1.88.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
- aws-sdk-guardduty (1.56.0)
+ aws-sdk-guardduty (1.57.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.68.0)
@@ -199,7 +199,7 @@ GEM
aws-sdk-kinesis (1.41.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-kms (1.55.0)
+ aws-sdk-kms (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.83.0)
@@ -208,7 +208,7 @@ GEM
aws-sdk-mq (1.40.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
- aws-sdk-networkfirewall (1.15.0)
+ aws-sdk-networkfirewall (1.17.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-networkmanager (1.22.0)
@@ -220,10 +220,10 @@ GEM
aws-sdk-ram (1.26.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
- aws-sdk-rds (1.142.0)
+ aws-sdk-rds (1.146.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-redshift (1.80.0)
+ aws-sdk-redshift (1.82.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.62.0)
@@ -235,7 +235,7 @@ GEM
aws-sdk-route53resolver (1.37.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.113.0)
+ aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
@@ -245,7 +245,7 @@ GEM
aws-sdk-secretsmanager (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
- aws-sdk-securityhub (1.63.0)
+ aws-sdk-securityhub (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-servicecatalog (1.60.0)
@@ -269,10 +269,10 @@ GEM
aws-sdk-sns (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-sqs (1.51.0)
+ aws-sdk-sqs (1.51.1)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-ssm (1.134.0)
+ aws-sdk-ssm (1.137.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-states (1.39.0)
@@ -288,7 +288,7 @@ GEM
aws-sdk-core (~> 3, >= 3.122.0)
aws-sigv4 (~> 1.1)
aws-sigv2 (1.1.0)
- aws-sigv4 (1.4.0)
+ aws-sigv4 (1.5.0)
aws-eventstream (~> 1, >= 1.0.2)
azure_graph_rbac (0.17.2)
ms_rest_azure (~> 0.12.0)
@@ -301,7 +301,7 @@ GEM
azure_mgmt_storage (0.23.0)
ms_rest_azure (~> 0.12.0)
bcrypt_pbkdf (1.1.0)
- bson (4.14.1)
+ bson (4.15.0)
builder (3.2.4)
chef-config (17.10.0)
addressable
@@ -328,7 +328,7 @@ GEM
unf (>= 0.0.5, < 1.0.0)
ed25519 (1.3.0)
erubi (1.10.0)
- excon (0.92.2)
+ excon (0.92.3)
faraday (1.4.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
@@ -435,7 +435,7 @@ GEM
options (2.3.2)
os (1.1.4)
parallel (1.22.1)
- parser (3.1.1.0)
+ parser (3.1.2.0)
ast (~> 2.4.1)
parslet (1.8.2)
pastel (0.8.0)
@@ -446,10 +446,10 @@ GEM
pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
- public_suffix (4.0.6)
+ public_suffix (4.0.7)
rainbow (3.1.1)
rake (13.0.6)
- regexp_parser (2.3.0)
+ regexp_parser (2.4.0)
representable (3.1.1)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
diff --git a/docs/AUTHORS.rst b/docs/AUTHORS.rst
index 3580538fd..1c5048c9b 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 `_
- - 279
+ - 285
* - :raw-html-m2r:`
`
- `@aboe76 `_
- 102
@@ -338,4 +338,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 2022-04-13.
+Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2022-05-17.
diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst
index 9328133b8..4f42e1055 100644
--- a/docs/CHANGELOG.rst
+++ b/docs/CHANGELOG.rst
@@ -2,6 +2,42 @@
Changelog
=========
+`1.11.0 `_ (2022-05-17)
+---------------------------------------------------------------------------------------------------------
+
+Bug Fixes
+^^^^^^^^^
+
+
+* **minion:** replace literals with ``rootuser`` & ``rootgroup`` from map (\ `b2316ed `_\ )
+
+Code Refactoring
+^^^^^^^^^^^^^^^^
+
+
+* **minion:** use ``pkg.installed`` state for macOS (\ `3eff2d2 `_\ )
+
+Continuous Integration
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+* **macos:** enable testing using GitHub Actions (\ `8ab60b9 `_\ )
+* **vagrant:** use ``linked_clone`` at all times (inc. CI) [skip ci] (\ `18a6230 `_\ )
+
+Features
+^^^^^^^^
+
+
+* **macos:** use ``saltstack`` as package to install (\ `c05fddf `_\ )
+
+Tests
+^^^^^
+
+
+* **macos:** add ``map.jinja`` verification files (\ `c1c635f `_\ )
+* **macos:** update for this platform (\ `dc9cff9 `_\ )
+* **system.rb:** add support for ``mac_os_x`` [skip ci] (\ `e8a1237 `_\ )
+
`1.10.3 `_ (2022-04-13)
---------------------------------------------------------------------------------------------------------
diff --git a/kitchen.macos.yml b/kitchen.macos.yml
new file mode 100644
index 000000000..2528195bf
--- /dev/null
+++ b/kitchen.macos.yml
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# vim: ft=yaml
+---
+driver:
+ name: exec
+
+provisioner:
+ sudo: true
+ salt_install: bootstrap
+ salt_bootstrap_options: -P stable latest
+ salt_call_command: /opt/salt/bin/salt-call
+
+platforms:
+ - name: macos-12-latest-py3
+ verifier:
+ inputs:
+ saltmajorversion: 3004
+ - name: macos-11-latest-py3
+ verifier:
+ inputs:
+ saltmajorversion: 3004
+ - name: macos-1015-latest-py3
+ verifier:
+ inputs:
+ saltmajorversion: 3004
diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml
index a5aae67d9..417f94e06 100644
--- a/kitchen.vagrant.yml
+++ b/kitchen.vagrant.yml
@@ -9,8 +9,8 @@ driver:
gui: false
ssh:
shell: /bin/sh
- <% unless ENV['CI'] %>
linked_clone: true
+ <% unless ENV['CI'] %>
synced_folders:
- - '.kitchen/kitchen-vagrant/%{instance_name}/vagrant'
- '/vagrant'
diff --git a/kitchen.yml b/kitchen.yml
index d9acca0ef..3801d36d5 100644
--- a/kitchen.yml
+++ b/kitchen.yml
@@ -43,6 +43,13 @@ platforms:
verifier:
inputs:
saltmajorversion: 3004
+ - name: ubuntu-2204-tiamat-py3
+ driver:
+ image: saltimages/salt-tiamat-py3:ubuntu-22.04
+ run_command: /lib/systemd/systemd
+ verifier:
+ inputs:
+ saltmajorversion: 3004
- name: ubuntu-2004-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-20.04
@@ -122,6 +129,13 @@ platforms:
verifier:
inputs:
saltmajorversion: 3004
+ - name: ubuntu-2204-master-py3
+ driver:
+ image: saltimages/salt-master-py3:ubuntu-22.04
+ run_command: /lib/systemd/systemd
+ verifier:
+ inputs:
+ saltmajorversion: 3004
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
@@ -258,6 +272,13 @@ platforms:
verifier:
inputs:
saltmajorversion: 3004
+ - name: ubuntu-2204-3004-1-py3
+ driver:
+ image: saltimages/salt-3004.1-py3:ubuntu-22.04
+ run_command: /lib/systemd/systemd
+ verifier:
+ inputs:
+ saltmajorversion: 3004
- name: ubuntu-2004-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-20.04
diff --git a/salt/minion.sls b/salt/minion.sls
index e1eb8b5b7..97db5b321 100644
--- a/salt/minion.sls
+++ b/salt/minion.sls
@@ -20,8 +20,8 @@ download-salt-minion:
{% else %}
- skip_verify: True
{% endif %}
- - user: root
- - group: wheel
+ - user: {{ salt_settings.rootuser }}
+ - group: {{ salt_settings.rootgroup }}
- mode: '0644'
- unless:
- test -n "{{ salt_settings.version }}" && '/opt/salt/bin/salt-minion --version=.*{{ salt_settings.version }}.*'
@@ -29,10 +29,13 @@ download-salt-minion:
- macpackage: salt-minion
- retry: {{ salt_settings.retry_options | json }}
{%- elif "workaround https://github.com/saltstack/salt/issues/49348" %}
- cmd.run:
- - name: /usr/local/bin/brew install {{ salt_settings.salt_minion }}
- - onlyif: test -x /usr/local/bin/brew
- - runas: {{ salt_settings.rootuser }}
+ {% if salt_settings.install_packages %}
+ pkg.installed:
+ - name: {{ salt_settings.salt_minion }}
+ {%- if salt_settings.version is defined %}
+ - version: {{ salt_settings.version }}
+ {%- endif %}
+ {% endif %}
{%- endif %}
salt-minion-macos:
@@ -130,7 +133,7 @@ salt-minion:
{%- if grains.os == 'MacOS' and salt_settings.salt_minion_pkg_source %}
- macpackage: salt-minion
{%- elif grains.os == 'MacOS' %}
- - cmd: download-salt-minion
+ - pkg: download-salt-minion
{%- else %}
- pkg: salt-minion
{%- endif %}
@@ -155,7 +158,7 @@ restart-salt-minion:
{%- if grains.os == 'MacOS' and salt_settings.salt_minion_pkg_source %}
- macpackage: salt-minion
{%- elif grains.os == 'MacOS' %}
- - cmd: download-salt-minion
+ - pkg: download-salt-minion
{%- else %}
- pkg: salt-minion
{%- endif %}
@@ -201,7 +204,7 @@ permissions-minion-config:
{%- if grains['kernel'] in ['FreeBSD', 'OpenBSD', 'NetBSD'] %}
wheel
{%- else %}
- root
+ {{ salt_settings.rootgroup }}
{%- endif %}
{%- if grains['kernel'] != 'Windows' %}
- mode: 640
@@ -221,7 +224,7 @@ salt-minion-pki-dir:
{%- if grains['kernel'] in ['FreeBSD', 'OpenBSD', 'NetBSD'] %}
wheel
{%- else %}
- root
+ {{ salt_settings.rootgroup }}
{%- endif %}
{%- if grains['kernel'] != 'Windows' %}
- mode: 700
@@ -240,7 +243,7 @@ permissions-minion.pem:
{%- if grains['kernel'] in ['FreeBSD', 'OpenBSD', 'NetBSD'] %}
wheel
{%- else %}
- root
+ {{ salt_settings.rootgroup }}
{%- endif %}
{%- if grains['kernel'] != 'Windows' %}
- mode: 400
@@ -261,7 +264,7 @@ permissions-minion.pub:
{%- if grains['kernel'] in ['FreeBSD', 'OpenBSD', 'NetBSD'] %}
wheel
{%- else %}
- root
+ {{ salt_settings.rootgroup }}
{%- endif %}
{%- if grains['kernel'] != 'Windows' %}
- mode: 644
diff --git a/salt/osfamilymap.yaml b/salt/osfamilymap.yaml
index 6f03da81d..e2e48a640 100644
--- a/salt/osfamilymap.yaml
+++ b/salt/osfamilymap.yaml
@@ -138,6 +138,7 @@ Windows:
rootuser: {{ rootuser | d('') }}
MacOS:
+ salt_master: saltstack
salt_minion: salt
salt_minion_pkg_source: ''
salt_minion_pkg_hash: ''
diff --git a/test/integration/default/controls/pkgs_spec.rb b/test/integration/default/controls/pkgs_spec.rb
index 389aba19c..3bfb34b04 100644
--- a/test/integration/default/controls/pkgs_spec.rb
+++ b/test/integration/default/controls/pkgs_spec.rb
@@ -8,6 +8,8 @@
%w[py38-salt]
when 'windows'
['Salt Minion']
+ when 'mac_os_x'
+ %w[salt saltstack]
else
%w[salt-master salt-minion]
end
diff --git a/test/integration/default/controls/service_spec.rb b/test/integration/default/controls/service_spec.rb
index be3dab720..a1d584370 100644
--- a/test/integration/default/controls/service_spec.rb
+++ b/test/integration/default/controls/service_spec.rb
@@ -6,6 +6,14 @@
%w[salt_master salt_minion]
when 'windows'
%w[salt-minion]
+ when 'darwin'
+ # The following is expected but isn't yet working in the GitHub Actions
+ # macOS runners
+ # %w[com.saltstack.salt.api
+ # com.saltstack.salt.master
+ # com.saltstack.salt.minion
+ # com.saltstack.salt.syndic]
+ []
else
%w[salt-master salt-minion]
end
diff --git a/test/integration/default/files/_mapdata/mac_os_x-10.yaml b/test/integration/default/files/_mapdata/mac_os_x-10.yaml
new file mode 100644
index 000000000..b8f0fa7c1
--- /dev/null
+++ b/test/integration/default/files/_mapdata/mac_os_x-10.yaml
@@ -0,0 +1,115 @@
+# yamllint disable rule:indentation rule:line-length
+# Mac OS X
+---
+values:
+ formulas_settings:
+ checkout_orig_branch: false
+ git_opts:
+ default:
+ basedir: /srv/formulas
+ baseurl: https://github.com/saltstack-formulas
+ options:
+ output_loglevel: quiet
+ rev: master
+ update: false
+ list: {}
+ salt_settings:
+ api_service: salt-api
+ api_service_details:
+ enabled: true
+ state: running
+ clean_config_d_dir: true
+ cloud:
+ template_sources:
+ maps: salt://salt/files/cloud.maps.d
+ profiles: salt://salt/files/cloud.profiles.d
+ providers: salt://salt/files/cloud.providers.d
+ config_path: /private/etc/salt
+ gitfs:
+ dulwich:
+ install_from_source: true
+ gitpython:
+ install_from_source: false
+ pygit2:
+ git:
+ install_from_package: git
+ require_state: false
+ install_from_source: true
+ libgit2:
+ build_parent_dir: /usr/src/
+ download_hash: 683d1164e361e2a0a8d52652840e2340
+ install_from_source: true
+ version: 0.23.0
+ version: 0.23.0
+ install_packages: true
+ master:
+ ext_pillar:
+ - cmd_yaml: cat /etc/salt/yaml
+ - stack:
+ - /path/to/stack1.cfg
+ - /path/to/stack2.cfg
+ - reclass:
+ inventory_base_uri: /etc/reclass
+ - saltclass:
+ - path: /srv/saltclass
+ file_roots:
+ base:
+ - /srv/salt
+ fileserver_backend:
+ - rootfs
+ gitfs_provider: gitpython
+ pillar_roots:
+ base:
+ - /srv/pillar
+ master_config_use_TOFS: false
+ master_remove_config: false
+ master_service: com.saltstack.salt.master
+ master_service_details:
+ enabled: true
+ state: running
+ minion:
+ file_roots:
+ base:
+ - /srv/salt
+ fileserver_backend:
+ - rootfs
+ master: localhost
+ master_type: str
+ pillar_roots:
+ base:
+ - /srv/pillar
+ minion_config_use_TOFS: false
+ minion_remove_config: false
+ minion_service: com.saltstack.salt.minion
+ minion_service_details:
+ enabled: true
+ state: running
+ parallel: true
+ pin_version: false
+ pkgrepo: ''
+ py_ver: py3
+ python_dulwich: python-dulwich
+ python_git: python-git
+ release: '3004'
+ restart_via_at: false
+ retry_options:
+ attempts: 5
+ interval: 10
+ splay: 10
+ until: true
+ rootgroup: staff
+ rootuser: runner
+ salt_api: salt-api
+ salt_cloud: salt-cloud
+ salt_master: saltstack
+ salt_master_macos_plist_hash: 8435331b2d48ca8f0759f216e5b15ec9171a4216b1441328c732c6906728b7c9
+ salt_minion: salt
+ salt_minion_macos_plist_hash: 26b33da12e0d8960ee96b488c8352002c22a377c19bf3df3f986a1e49eca8b20
+ salt_minion_pkg_hash: ''
+ salt_minion_pkg_source: ''
+ salt_ssh: salt-ssh
+ salt_syndic: salt-syndic
+ ssh_roster: {}
+ syndic_service: salt-syndic
+ use_pip: false
+ version: ''
diff --git a/test/integration/default/files/_mapdata/mac_os_x-11.yaml b/test/integration/default/files/_mapdata/mac_os_x-11.yaml
new file mode 100644
index 000000000..b8f0fa7c1
--- /dev/null
+++ b/test/integration/default/files/_mapdata/mac_os_x-11.yaml
@@ -0,0 +1,115 @@
+# yamllint disable rule:indentation rule:line-length
+# Mac OS X
+---
+values:
+ formulas_settings:
+ checkout_orig_branch: false
+ git_opts:
+ default:
+ basedir: /srv/formulas
+ baseurl: https://github.com/saltstack-formulas
+ options:
+ output_loglevel: quiet
+ rev: master
+ update: false
+ list: {}
+ salt_settings:
+ api_service: salt-api
+ api_service_details:
+ enabled: true
+ state: running
+ clean_config_d_dir: true
+ cloud:
+ template_sources:
+ maps: salt://salt/files/cloud.maps.d
+ profiles: salt://salt/files/cloud.profiles.d
+ providers: salt://salt/files/cloud.providers.d
+ config_path: /private/etc/salt
+ gitfs:
+ dulwich:
+ install_from_source: true
+ gitpython:
+ install_from_source: false
+ pygit2:
+ git:
+ install_from_package: git
+ require_state: false
+ install_from_source: true
+ libgit2:
+ build_parent_dir: /usr/src/
+ download_hash: 683d1164e361e2a0a8d52652840e2340
+ install_from_source: true
+ version: 0.23.0
+ version: 0.23.0
+ install_packages: true
+ master:
+ ext_pillar:
+ - cmd_yaml: cat /etc/salt/yaml
+ - stack:
+ - /path/to/stack1.cfg
+ - /path/to/stack2.cfg
+ - reclass:
+ inventory_base_uri: /etc/reclass
+ - saltclass:
+ - path: /srv/saltclass
+ file_roots:
+ base:
+ - /srv/salt
+ fileserver_backend:
+ - rootfs
+ gitfs_provider: gitpython
+ pillar_roots:
+ base:
+ - /srv/pillar
+ master_config_use_TOFS: false
+ master_remove_config: false
+ master_service: com.saltstack.salt.master
+ master_service_details:
+ enabled: true
+ state: running
+ minion:
+ file_roots:
+ base:
+ - /srv/salt
+ fileserver_backend:
+ - rootfs
+ master: localhost
+ master_type: str
+ pillar_roots:
+ base:
+ - /srv/pillar
+ minion_config_use_TOFS: false
+ minion_remove_config: false
+ minion_service: com.saltstack.salt.minion
+ minion_service_details:
+ enabled: true
+ state: running
+ parallel: true
+ pin_version: false
+ pkgrepo: ''
+ py_ver: py3
+ python_dulwich: python-dulwich
+ python_git: python-git
+ release: '3004'
+ restart_via_at: false
+ retry_options:
+ attempts: 5
+ interval: 10
+ splay: 10
+ until: true
+ rootgroup: staff
+ rootuser: runner
+ salt_api: salt-api
+ salt_cloud: salt-cloud
+ salt_master: saltstack
+ salt_master_macos_plist_hash: 8435331b2d48ca8f0759f216e5b15ec9171a4216b1441328c732c6906728b7c9
+ salt_minion: salt
+ salt_minion_macos_plist_hash: 26b33da12e0d8960ee96b488c8352002c22a377c19bf3df3f986a1e49eca8b20
+ salt_minion_pkg_hash: ''
+ salt_minion_pkg_source: ''
+ salt_ssh: salt-ssh
+ salt_syndic: salt-syndic
+ ssh_roster: {}
+ syndic_service: salt-syndic
+ use_pip: false
+ version: ''
diff --git a/test/integration/default/files/_mapdata/mac_os_x-12.yaml b/test/integration/default/files/_mapdata/mac_os_x-12.yaml
new file mode 100644
index 000000000..b8f0fa7c1
--- /dev/null
+++ b/test/integration/default/files/_mapdata/mac_os_x-12.yaml
@@ -0,0 +1,115 @@
+# yamllint disable rule:indentation rule:line-length
+# Mac OS X
+---
+values:
+ formulas_settings:
+ checkout_orig_branch: false
+ git_opts:
+ default:
+ basedir: /srv/formulas
+ baseurl: https://github.com/saltstack-formulas
+ options:
+ output_loglevel: quiet
+ rev: master
+ update: false
+ list: {}
+ salt_settings:
+ api_service: salt-api
+ api_service_details:
+ enabled: true
+ state: running
+ clean_config_d_dir: true
+ cloud:
+ template_sources:
+ maps: salt://salt/files/cloud.maps.d
+ profiles: salt://salt/files/cloud.profiles.d
+ providers: salt://salt/files/cloud.providers.d
+ config_path: /private/etc/salt
+ gitfs:
+ dulwich:
+ install_from_source: true
+ gitpython:
+ install_from_source: false
+ pygit2:
+ git:
+ install_from_package: git
+ require_state: false
+ install_from_source: true
+ libgit2:
+ build_parent_dir: /usr/src/
+ download_hash: 683d1164e361e2a0a8d52652840e2340
+ install_from_source: true
+ version: 0.23.0
+ version: 0.23.0
+ install_packages: true
+ master:
+ ext_pillar:
+ - cmd_yaml: cat /etc/salt/yaml
+ - stack:
+ - /path/to/stack1.cfg
+ - /path/to/stack2.cfg
+ - reclass:
+ inventory_base_uri: /etc/reclass
+ - saltclass:
+ - path: /srv/saltclass
+ file_roots:
+ base:
+ - /srv/salt
+ fileserver_backend:
+ - rootfs
+ gitfs_provider: gitpython
+ pillar_roots:
+ base:
+ - /srv/pillar
+ master_config_use_TOFS: false
+ master_remove_config: false
+ master_service: com.saltstack.salt.master
+ master_service_details:
+ enabled: true
+ state: running
+ minion:
+ file_roots:
+ base:
+ - /srv/salt
+ fileserver_backend:
+ - rootfs
+ master: localhost
+ master_type: str
+ pillar_roots:
+ base:
+ - /srv/pillar
+ minion_config_use_TOFS: false
+ minion_remove_config: false
+ minion_service: com.saltstack.salt.minion
+ minion_service_details:
+ enabled: true
+ state: running
+ parallel: true
+ pin_version: false
+ pkgrepo: ''
+ py_ver: py3
+ python_dulwich: python-dulwich
+ python_git: python-git
+ release: '3004'
+ restart_via_at: false
+ retry_options:
+ attempts: 5
+ interval: 10
+ splay: 10
+ until: true
+ rootgroup: staff
+ rootuser: runner
+ salt_api: salt-api
+ salt_cloud: salt-cloud
+ salt_master: saltstack
+ salt_master_macos_plist_hash: 8435331b2d48ca8f0759f216e5b15ec9171a4216b1441328c732c6906728b7c9
+ salt_minion: salt
+ salt_minion_macos_plist_hash: 26b33da12e0d8960ee96b488c8352002c22a377c19bf3df3f986a1e49eca8b20
+ salt_minion_pkg_hash: ''
+ salt_minion_pkg_source: ''
+ salt_ssh: salt-ssh
+ salt_syndic: salt-syndic
+ ssh_roster: {}
+ syndic_service: salt-syndic
+ use_pip: false
+ version: ''
diff --git a/test/integration/default/inspec.yml b/test/integration/default/inspec.yml
index 777ca56af..c566580a4 100644
--- a/test/integration/default/inspec.yml
+++ b/test/integration/default/inspec.yml
@@ -24,4 +24,5 @@ supports:
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
+ - platform-name: mac_os_x
- platform: windows
diff --git a/test/integration/share/inspec.yml b/test/integration/share/inspec.yml
index ee200809b..28a97b94b 100644
--- a/test/integration/share/inspec.yml
+++ b/test/integration/share/inspec.yml
@@ -21,4 +21,5 @@ supports:
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
+ - platform-name: mac_os_x
- platform: windows
diff --git a/test/integration/share/libraries/system.rb b/test/integration/share/libraries/system.rb
index 64fe7ea73..0db9d0b17 100644
--- a/test/integration/share/libraries/system.rb
+++ b/test/integration/share/libraries/system.rb
@@ -57,6 +57,8 @@ def build_platform_release
'base-latest'
when 'gentoo'
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
+ when 'mac_os_x'
+ inspec.command('sw_vers -productVersion').stdout.to_s
when 'opensuse'
# rubocop:disable Style/NumericLiterals,Layout/LineLength
inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release]