diff --git a/.gitignore b/.gitignore index 6995110..39752a7 100644 --- a/.gitignore +++ b/.gitignore @@ -91,6 +91,9 @@ celerybeat-schedule venv/ ENV/ +# visual studio +.vs/ + # Spyder project settings .spyderproject .spyproject @@ -120,3 +123,12 @@ docs/*.md Dockerfile.*_* ignore/ tmp/ + +# `salt-formula` -- Vagrant Specific files +.vagrant +top.sls +!test/salt/pillar/top.sls + +# `suricata-formula` -- Platform binaries +*.rpm +*.deb diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d26d639..a7df0e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,7 +46,7 @@ variables: DOCKER_DRIVER: 'overlay2' ############################################################################### -# `lint` stage: `commitlint` & `pre-commit` +# `lint` stage: `commitlint`, `pre-commit` & `rubocop` (latest, failure allowed) ############################################################################### commitlint: stage: *stage_lint @@ -102,7 +102,7 @@ rubocop: ############################################################################### # Define `test` template ############################################################################### -.test_instance: +.test_instance: &test_instance stage: *stage_test image: *image_dindruby services: *services_docker_dind @@ -117,87 +117,85 @@ rubocop: # Alternative value to consider: `${CI_JOB_NAME}` - 'bin/kitchen verify "${DOCKER_ENV_CI_JOB_NAME}"' +############################################################################### +# Define `test` template (`allow_failure: true`) +############################################################################### +.test_instance_failure_permitted: + <<: *test_instance + allow_failure: true + ############################################################################### # `test` stage: each instance below uses the `test` template above ############################################################################### ## 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` +# yamllint disable rule:line-length +# 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-ubuntu-1604-tiamat-py3: {extends: '.test_instance'} -# default-centos-8-tiamat-py3: {extends: '.test_instance'} +# default-centos-stream8-tiamat-py3: {extends: '.test_instance_failure_permitted'} # default-centos-7-tiamat-py3: {extends: '.test_instance'} # default-amazonlinux-2-tiamat-py3: {extends: '.test_instance'} # default-oraclelinux-8-tiamat-py3: {extends: '.test_instance'} # default-oraclelinux-7-tiamat-py3: {extends: '.test_instance'} -# default-debian-10-master-py3: {extends: '.test_instance'} -clean-debian-10-master-py3: {extends: '.test_instance'} -default-debian-9-master-py3: {extends: '.test_instance'} +# default-almalinux-8-tiamat-py3: {extends: '.test_instance'} +# default-rockylinux-8-tiamat-py3: {extends: '.test_instance'} +default-debian-11-master-py3: {extends: '.test_instance'} +default-debian-10-master-py3: {extends: '.test_instance'} +# clean-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-ubuntu-1604-master-py3: {extends: '.test_instance'} -default-centos-8-master-py3: {extends: '.test_instance'} -# default-centos-7-master-py3: {extends: '.test_instance'} -# default-fedora-33-master-py3: {extends: '.test_instance'} -default-fedora-32-master-py3: {extends: '.test_instance'} -default-opensuse-leap-152-master-py3: {extends: '.test_instance'} -# default-opensuse-tmbl-latest-master-py3: {extends: '.test_instance'} +default-ubuntu-1804-master-py3: {extends: '.test_instance'} +default-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'} +default-centos-7-master-py3: {extends: '.test_instance'} +default-fedora-36-master-py3: {extends: '.test_instance_failure_permitted'} +default-fedora-35-master-py3: {extends: '.test_instance'} +default-opensuse-leap-153-master-py3: {extends: '.test_instance'} +# default-opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'} # default-amazonlinux-2-master-py3: {extends: '.test_instance'} # default-oraclelinux-8-master-py3: {extends: '.test_instance'} +# default-oraclelinux-7-master-py3: {extends: '.test_instance'} +# default-arch-base-latest-master-py3: {extends: '.test_instance'} # default-gentoo-stage3-latest-master-py3: {extends: '.test_instance'} # default-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'} -# default-debian-10-3002-2-py3: {extends: '.test_instance'} -# default-debian-9-3002-2-py3: {extends: '.test_instance'} -# default-ubuntu-2004-3002-2-py3: {extends: '.test_instance'} -# default-ubuntu-1804-3002-2-py3: {extends: '.test_instance'} -# default-ubuntu-1604-3002-2-py3: {extends: '.test_instance'} -# default-centos-8-3002-2-py3: {extends: '.test_instance'} -# default-centos-7-3002-2-py3: {extends: '.test_instance'} -# default-fedora-33-3002-2-py3: {extends: '.test_instance'} -# default-fedora-32-3002-2-py3: {extends: '.test_instance'} -# default-opensuse-leap-152-3002-2-py3: {extends: '.test_instance'} -# default-opensuse-tmbl-latest-3002-2-py3: {extends: '.test_instance'} -# default-amazonlinux-2-3002-2-py3: {extends: '.test_instance'} -# default-oraclelinux-8-3002-2-py3: {extends: '.test_instance'} -# default-oraclelinux-7-3002-2-py3: {extends: '.test_instance'} -# default-arch-base-latest-3002-2-py3: {extends: '.test_instance'} -# default-gentoo-stage3-latest-3002-2-py3: {extends: '.test_instance'} -# default-gentoo-stage3-systemd-3002-2-py3: {extends: '.test_instance'} -# default-debian-10-3001-4-py3: {extends: '.test_instance'} -# default-debian-9-3001-4-py3: {extends: '.test_instance'} -# default-ubuntu-2004-3001-4-py3: {extends: '.test_instance'} -# default-ubuntu-1804-3001-4-py3: {extends: '.test_instance'} -# default-ubuntu-1604-3001-4-py3: {extends: '.test_instance'} -# default-centos-8-3001-4-py3: {extends: '.test_instance'} -# default-centos-7-3001-4-py3: {extends: '.test_instance'} -# default-fedora-33-3001-4-py3: {extends: '.test_instance'} -# default-fedora-32-3001-4-py3: {extends: '.test_instance'} -# default-opensuse-leap-152-3001-4-py3: {extends: '.test_instance'} -# default-opensuse-tmbl-latest-3001-4-py3: {extends: '.test_instance'} -# default-amazonlinux-2-3001-4-py3: {extends: '.test_instance'} -# default-oraclelinux-8-3001-4-py3: {extends: '.test_instance'} -# default-oraclelinux-7-3001-4-py3: {extends: '.test_instance'} -# default-arch-base-latest-3001-4-py3: {extends: '.test_instance'} -# default-gentoo-stage3-latest-3001-4-py3: {extends: '.test_instance'} -# default-gentoo-stage3-systemd-3001-4-py3: {extends: '.test_instance'} -# default-debian-10-3000-6-py3: {extends: '.test_instance'} -# default-debian-9-3000-6-py3: {extends: '.test_instance'} -# default-ubuntu-1804-3000-6-py3: {extends: '.test_instance'} -# default-ubuntu-1604-3000-6-py3: {extends: '.test_instance'} -# default-centos-8-3000-6-py3: {extends: '.test_instance'} -# default-centos-7-3000-6-py3: {extends: '.test_instance'} -# default-opensuse-leap-152-3000-6-py3: {extends: '.test_instance'} -# default-amazonlinux-2-3000-6-py3: {extends: '.test_instance'} -# default-oraclelinux-8-3000-6-py3: {extends: '.test_instance'} -# default-oraclelinux-7-3000-6-py3: {extends: '.test_instance'} -# default-gentoo-stage3-latest-3000-6-py3: {extends: '.test_instance'} -# default-gentoo-stage3-systemd-3000-6-py3: {extends: '.test_instance'} -# default-ubuntu-1804-3000-6-py2: {extends: '.test_instance'} -# default-ubuntu-1604-3000-6-py2: {extends: '.test_instance'} -# default-arch-base-latest-3000-6-py2: {extends: '.test_instance'} +default-almalinux-8-master-py3: {extends: '.test_instance'} +default-rockylinux-8-master-py3: {extends: '.test_instance'} +# 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'} +# default-centos-7-3004-1-py3: {extends: '.test_instance'} +# default-fedora-36-3004-1-py3: {extends: '.test_instance_failure_permitted'} +# default-fedora-35-3004-1-py3: {extends: '.test_instance'} +# default-amazonlinux-2-3004-1-py3: {extends: '.test_instance'} +# default-oraclelinux-8-3004-1-py3: {extends: '.test_instance'} +# default-oraclelinux-7-3004-1-py3: {extends: '.test_instance'} +# default-arch-base-latest-3004-1-py3: {extends: '.test_instance'} +# default-gentoo-stage3-latest-3004-1-py3: {extends: '.test_instance'} +# default-gentoo-stage3-systemd-3004-1-py3: {extends: '.test_instance'} +# default-almalinux-8-3004-1-py3: {extends: '.test_instance'} +# default-rockylinux-8-3004-1-py3: {extends: '.test_instance'} +# default-opensuse-leap-153-3004-0-py3: {extends: '.test_instance'} +# default-opensuse-tmbl-latest-3004-0-py3: {extends: '.test_instance_failure_permitted'} +# default-debian-10-3003-4-py3: {extends: '.test_instance'} +# default-debian-9-3003-4-py3: {extends: '.test_instance'} +# default-ubuntu-2004-3003-4-py3: {extends: '.test_instance'} +# default-ubuntu-1804-3003-4-py3: {extends: '.test_instance'} +# default-centos-stream8-3003-4-py3: {extends: '.test_instance_failure_permitted'} +# default-centos-7-3003-4-py3: {extends: '.test_instance'} +# default-amazonlinux-2-3003-4-py3: {extends: '.test_instance'} +# default-oraclelinux-8-3003-4-py3: {extends: '.test_instance'} +# default-oraclelinux-7-3003-4-py3: {extends: '.test_instance'} +# default-almalinux-8-3003-4-py3: {extends: '.test_instance'} +# yamllint enable rule:line-length ############################################################################### # `release` stage: `semantic-release` diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0efdb51..0abb695 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,6 +3,18 @@ --- # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks +ci: + autofix_commit_msg: | + ci(pre-commit.ci): apply auto fixes from pre-commit.com hooks + + For more information, see https://pre-commit.ci + autofix_prs: true + autoupdate_branch: '' + autoupdate_commit_msg: | + ci(pre-commit.ci): perform `pre-commit` autoupdate + autoupdate_schedule: quarterly + skip: [] + submodules: false default_stages: [commit] repos: - repo: https://github.com/dafyddj/commitlint-pre-commit-hook @@ -17,24 +29,23 @@ repos: stages: [manual] additional_dependencies: ['@commitlint/config-conventional@8.3.4'] always_run: true - - repo: https://github.com/adithyabsk/mirrors-rubocop - rev: v0.91.0 + - repo: https://github.com/rubocop-hq/rubocop + rev: v1.30.1 hooks: - id: rubocop name: Check Ruby files with rubocop args: [--debug] always_run: true pass_filenames: false - - repo: https://github.com/jumanjihouse/pre-commit-hooks - rev: 2.1.3 + - repo: https://github.com/shellcheck-py/shellcheck-py + rev: v0.8.0.4 hooks: - id: shellcheck name: Check shell scripts with shellcheck files: ^.*\.(sh|bash|ksh)$ types: [] - args: [] - - repo: https://github.com/adrienverge/yamllint.git - rev: v1.23.0 + - repo: https://github.com/adrienverge/yamllint + rev: v1.26.3 hooks: - id: yamllint name: Check YAML syntax with yamllint @@ -42,7 +53,7 @@ repos: always_run: true pass_filenames: false - repo: https://github.com/warpnet/salt-lint - rev: v0.3.0 + rev: v0.9.2 hooks: - id: salt-lint name: Check Salt files using salt-lint @@ -53,4 +64,14 @@ repos: - id: rstcheck name: Check reST files using rstcheck exclude: 'docs/CHANGELOG.rst' - args: [--report=warning] + - repo: https://github.com/saltstack-formulas/mirrors-rst-lint + rev: v1.3.2 + hooks: + - id: rst-lint + name: Check reST files using rst-lint + exclude: | + (?x)^( + docs/CHANGELOG.rst| + docs/TOFS_pattern.rst| + )$ + additional_dependencies: [pygments==2.9.0] diff --git a/.rstcheck.cfg b/.rstcheck.cfg index 05856dc..5383623 100644 --- a/.rstcheck.cfg +++ b/.rstcheck.cfg @@ -1,3 +1,4 @@ [rstcheck] -report=error +report=info ignore_language=rst +ignore_messages=(Duplicate (ex|im)plicit target.*|Hyperlink target ".*" is not referenced\.$) diff --git a/.rubocop.yml b/.rubocop.yml index 7fd75ac..bf4d107 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -7,10 +7,17 @@ Layout/LineLength: # Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) Max: 88 Metrics/BlockLength: - ExcludedMethods: + IgnoredMethods: - control - describe # Increase from default of `25` Max: 30 +Security/YAMLLoad: + Exclude: + - test/integration/**/_mapdata.rb + +# General settings across all cops in this formula +AllCops: + NewCops: enable # Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config` diff --git a/.travis.yml b/.travis.yml index 461775e..cf42bb5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,81 +83,70 @@ 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=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-ubuntu-1604-tiamat-py3 - # - env: INSTANCE=default-centos-8-tiamat-py3 + # - env: INSTANCE=default-centos-stream8-tiamat-py3 # - env: INSTANCE=default-centos-7-tiamat-py3 # - env: INSTANCE=default-amazonlinux-2-tiamat-py3 # - env: INSTANCE=default-oraclelinux-8-tiamat-py3 # - env: INSTANCE=default-oraclelinux-7-tiamat-py3 - # - env: INSTANCE=default-debian-10-master-py3 - - env: INSTANCE=clean-debian-10-master-py3 + # - env: INSTANCE=default-almalinux-8-tiamat-py3 + # - env: INSTANCE=default-rockylinux-8-tiamat-py3 + # - env: INSTANCE=default-debian-11-master-py3 + - env: INSTANCE=default-debian-10-master-py3 + # - env: INSTANCE=clean-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-ubuntu-1604-master-py3 - - env: INSTANCE=default-centos-8-master-py3 - # - env: INSTANCE=default-centos-7-master-py3 - # - env: INSTANCE=default-fedora-33-master-py3 - - env: INSTANCE=default-fedora-32-master-py3 - - env: INSTANCE=default-opensuse-leap-152-master-py3 + - env: INSTANCE=default-ubuntu-1804-master-py3 + - env: INSTANCE=default-centos-stream8-master-py3 + - env: INSTANCE=default-centos-7-master-py3 + - env: INSTANCE=default-fedora-36-master-py3 + - env: INSTANCE=default-fedora-35-master-py3 + - env: INSTANCE=default-opensuse-leap-153-master-py3 # - env: INSTANCE=default-opensuse-tmbl-latest-master-py3 # - env: INSTANCE=default-amazonlinux-2-master-py3 # - env: INSTANCE=default-oraclelinux-8-master-py3 + # - env: INSTANCE=default-oraclelinux-7-master-py3 + # - env: INSTANCE=default-arch-base-latest-master-py3 # - env: INSTANCE=default-gentoo-stage3-latest-master-py3 # - env: INSTANCE=default-gentoo-stage3-systemd-master-py3 - # - env: INSTANCE=default-debian-10-3002-2-py3 - # - env: INSTANCE=default-debian-9-3002-2-py3 - # - env: INSTANCE=default-ubuntu-2004-3002-2-py3 - # - env: INSTANCE=default-ubuntu-1804-3002-2-py3 - # - env: INSTANCE=default-ubuntu-1604-3002-2-py3 - # - env: INSTANCE=default-centos-8-3002-2-py3 - # - env: INSTANCE=default-centos-7-3002-2-py3 - # - env: INSTANCE=default-fedora-33-3002-2-py3 - # - env: INSTANCE=default-fedora-32-3002-2-py3 - # - env: INSTANCE=default-opensuse-leap-152-3002-2-py3 - # - env: INSTANCE=default-opensuse-tmbl-latest-3002-2-py3 - # - env: INSTANCE=default-amazonlinux-2-3002-2-py3 - # - env: INSTANCE=default-oraclelinux-8-3002-2-py3 - # - env: INSTANCE=default-oraclelinux-7-3002-2-py3 - # - env: INSTANCE=default-arch-base-latest-3002-2-py3 - # - env: INSTANCE=default-gentoo-stage3-latest-3002-2-py3 - # - env: INSTANCE=default-gentoo-stage3-systemd-3002-2-py3 - # - env: INSTANCE=default-debian-10-3001-4-py3 - # - env: INSTANCE=default-debian-9-3001-4-py3 - # - env: INSTANCE=default-ubuntu-2004-3001-4-py3 - # - env: INSTANCE=default-ubuntu-1804-3001-4-py3 - # - env: INSTANCE=default-ubuntu-1604-3001-4-py3 - # - env: INSTANCE=default-centos-8-3001-4-py3 - # - env: INSTANCE=default-centos-7-3001-4-py3 - # - env: INSTANCE=default-fedora-33-3001-4-py3 - # - env: INSTANCE=default-fedora-32-3001-4-py3 - # - env: INSTANCE=default-opensuse-leap-152-3001-4-py3 - # - env: INSTANCE=default-opensuse-tmbl-latest-3001-4-py3 - # - env: INSTANCE=default-amazonlinux-2-3001-4-py3 - # - env: INSTANCE=default-oraclelinux-8-3001-4-py3 - # - env: INSTANCE=default-oraclelinux-7-3001-4-py3 - # - env: INSTANCE=default-arch-base-latest-3001-4-py3 - # - env: INSTANCE=default-gentoo-stage3-latest-3001-4-py3 - # - env: INSTANCE=default-gentoo-stage3-systemd-3001-4-py3 - # - env: INSTANCE=default-debian-10-3000-6-py3 - # - env: INSTANCE=default-debian-9-3000-6-py3 - # - env: INSTANCE=default-ubuntu-1804-3000-6-py3 - # - env: INSTANCE=default-ubuntu-1604-3000-6-py3 - # - env: INSTANCE=default-centos-8-3000-6-py3 - # - env: INSTANCE=default-centos-7-3000-6-py3 - # - env: INSTANCE=default-opensuse-leap-152-3000-6-py3 - # - env: INSTANCE=default-amazonlinux-2-3000-6-py3 - # - env: INSTANCE=default-oraclelinux-8-3000-6-py3 - # - env: INSTANCE=default-oraclelinux-7-3000-6-py3 - # - env: INSTANCE=default-gentoo-stage3-latest-3000-6-py3 - # - env: INSTANCE=default-gentoo-stage3-systemd-3000-6-py3 - # - env: INSTANCE=default-ubuntu-1804-3000-6-py2 - # - env: INSTANCE=default-ubuntu-1604-3000-6-py2 - # - env: INSTANCE=default-arch-base-latest-3000-6-py2 + - env: INSTANCE=default-almalinux-8-master-py3 + - env: INSTANCE=default-rockylinux-8-master-py3 + # - 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 + # - env: INSTANCE=default-centos-7-3004-1-py3 + # - env: INSTANCE=default-fedora-36-3004-1-py3 + # - env: INSTANCE=default-fedora-35-3004-1-py3 + # - env: INSTANCE=default-amazonlinux-2-3004-1-py3 + # - env: INSTANCE=default-oraclelinux-8-3004-1-py3 + # - env: INSTANCE=default-oraclelinux-7-3004-1-py3 + # - env: INSTANCE=default-arch-base-latest-3004-1-py3 + # - env: INSTANCE=default-gentoo-stage3-latest-3004-1-py3 + # - env: INSTANCE=default-gentoo-stage3-systemd-3004-1-py3 + # - env: INSTANCE=default-almalinux-8-3004-1-py3 + # - env: INSTANCE=default-rockylinux-8-3004-1-py3 + # - env: INSTANCE=default-opensuse-leap-153-3004-0-py3 + # - env: INSTANCE=default-opensuse-tmbl-latest-3004-0-py3 + # - env: INSTANCE=default-debian-10-3003-4-py3 + # - env: INSTANCE=default-debian-9-3003-4-py3 + # - env: INSTANCE=default-ubuntu-2004-3003-4-py3 + # - env: INSTANCE=default-ubuntu-1804-3003-4-py3 + # - env: INSTANCE=default-centos-stream8-3003-4-py3 + # - env: INSTANCE=default-centos-7-3003-4-py3 + # - env: INSTANCE=default-amazonlinux-2-3003-4-py3 + # - env: INSTANCE=default-oraclelinux-8-3003-4-py3 + # - env: INSTANCE=default-oraclelinux-7-3003-4-py3 + # - env: INSTANCE=default-almalinux-8-3003-4-py3 ## Define the release stage that runs `semantic-release` - stage: 'release' diff --git a/.yamllint b/.yamllint index 73bcbe2..716baaf 100644 --- a/.yamllint +++ b/.yamllint @@ -2,17 +2,24 @@ # vim: ft=yaml --- # Extend the `default` configuration provided by `yamllint` -extends: default +extends: 'default' # Files to ignore completely -# 1. All YAML files under directory `node_modules/`, introduced during the Travis run -# 2. Any SLS files under directory `test/`, which are actually state files -# 3. Any YAML files under directory `.kitchen/`, introduced during local testing +# 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally +# 2. All YAML files under directory `.cache/`, introduced during the CI run +# 3. All YAML files under directory `.git/` +# 4. All YAML files under directory `node_modules/`, introduced during the CI run +# 5. Any SLS files under directory `test/`, which are actually state files +# 6. Any YAML files under directory `.kitchen/`, introduced during local testing +# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax ignore: | + .bundle/ .cache/ + .git/ node_modules/ test/**/states/**/*.sls .kitchen/ + kitchen.vagrant.yml yaml-files: # Default settings diff --git a/AUTHORS.md b/AUTHORS.md index 611af02..768872c 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -4,28 +4,31 @@ This list is sorted by the number of commits per contributor in _descending_ ord Avatar|Contributor|Contributions :-:|---|:-: -@myii|[@myii](https://github.com/myii)|89 -@baby-gnu|[@baby-gnu](https://github.com/baby-gnu)|44 +@myii|[@myii](https://github.com/myii)|166 +@baby-gnu|[@baby-gnu](https://github.com/baby-gnu)|113 @aboe76|[@aboe76](https://github.com/aboe76)|18 @gravyboat|[@gravyboat](https://github.com/gravyboat)|6 +@dafyddj|[@dafyddj](https://github.com/dafyddj)|4 @whiteinge|[@whiteinge](https://github.com/whiteinge)|4 @EvaSDK|[@EvaSDK](https://github.com/EvaSDK)|3 @puneetk|[@puneetk](https://github.com/puneetk)|3 -@dafyddj|[@dafyddj](https://github.com/dafyddj)|2 @nmadhok|[@nmadhok](https://github.com/nmadhok)|2 @ukretschmer|[@ukretschmer](https://github.com/ukretschmer)|2 +@stooj|[@stooj](https://github.com/stooj)|2 @matthew-parlette|[@matthew-parlette](https://github.com/matthew-parlette)|2 +@noelmcloughlin|[@noelmcloughlin](https://github.com/noelmcloughlin)|2 @andrew-vant|[@andrew-vant](https://github.com/andrew-vant)|1 @bebehei|[@bebehei](https://github.com/bebehei)|1 @damon-atkins|[@damon-atkins](https://github.com/damon-atkins)|1 @edusperoni|[@edusperoni](https://github.com/edusperoni)|1 @eliasp|[@eliasp](https://github.com/eliasp)|1 -@noelmcloughlin|[@noelmcloughlin](https://github.com/noelmcloughlin)|1 +@stasjok|[@stasjok](https://github.com/stasjok)|1 @thatch45|[@thatch45](https://github.com/thatch45)|1 -@babilen5|[@babilen5](https://github.com/babilen5)|1 +@wwentland|[@wwentland](https://github.com/wwentland)|1 @Zauberfisch|[@Zauberfisch](https://github.com/Zauberfisch)|1 +@sylvainfaivre|[@sylvainfaivre](https://github.com/sylvainfaivre)|1 @daks|[@daks](https://github.com/daks)|1 --- -Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-01-31. +Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2023-12-13. diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e4b9d3..6ea3389 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,62 @@ # Changelog +# [3.10.0](https://github.com/saltstack-formulas/libvirt-formula/compare/v3.9.0...v3.10.0) (2023-12-13) + + +### Bug Fixes + +* correct package names for debian 11, drop support for debian 9 ([a9cd134](https://github.com/saltstack-formulas/libvirt-formula/commit/a9cd134c9e43ae2b828206b1d8e069d579862075)) +* **config:** ensure daemon dir is created ([4a64329](https://github.com/saltstack-formulas/libvirt-formula/commit/4a64329226c61f7716de36425bd0904f478e677a)) +* **libsaltcli+libmatchers:** ensure Salt client API detection [skip ci] ([36db358](https://github.com/saltstack-formulas/libvirt-formula/commit/36db358c48f01b07a4c987e1ef845e1da8d85190)) +* **parameters:** correct parameters for Arch ([cc19cd3](https://github.com/saltstack-formulas/libvirt-formula/commit/cc19cd3fa7d84f908532806dfb92144c6f7b5b8a)) + + +### Continuous Integration + +* update `pre-commit` configuration inc. for pre-commit.ci [skip ci] ([edd2c3f](https://github.com/saltstack-formulas/libvirt-formula/commit/edd2c3f7f69f30eab9b396992b5c7b0cd6fd765b)) +* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([f61c088](https://github.com/saltstack-formulas/libvirt-formula/commit/f61c0883324de7e35d633718bcd4ce9337671270)) +* update linters to latest versions [skip ci] ([e912656](https://github.com/saltstack-formulas/libvirt-formula/commit/e912656e0157aca2f4a32dcd24fad2688cb8c9e3)) +* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([a8f8e24](https://github.com/saltstack-formulas/libvirt-formula/commit/a8f8e2404b771fbc3d7d75caa9610c1d7e804fa4)) +* **gemfile:** allow rubygems proxy to be provided as an env var [skip ci] ([d8c8d7a](https://github.com/saltstack-formulas/libvirt-formula/commit/d8c8d7a14ba9f07b53b95ae469f72940eda38eed)) +* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([72cc84b](https://github.com/saltstack-formulas/libvirt-formula/commit/72cc84b2eea1c807a4841602a3e4ea9a5a3241d0)) +* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([f5f6ba0](https://github.com/saltstack-formulas/libvirt-formula/commit/f5f6ba0389d264c03452260bd0327d3e4d75cf45)) +* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([0db92c0](https://github.com/saltstack-formulas/libvirt-formula/commit/0db92c0d9b194c6a0aac7075a7095455760b67d6)) +* **kitchen:** remove Fedora legacy `crypto-policies` workaround [skip ci] ([cf93fb1](https://github.com/saltstack-formulas/libvirt-formula/commit/cf93fb14c0d864fd81b9a82635c210a2e2e66477)) +* **kitchen+ci:** update with `3004` pre-salted images/boxes [skip ci] ([9aab7f4](https://github.com/saltstack-formulas/libvirt-formula/commit/9aab7f4ae0dccadf0f7ed0cc36fd08add1c521e5)) +* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([de4ce37](https://github.com/saltstack-formulas/libvirt-formula/commit/de4ce376f49ff7a62f4c08c30bdad821a14bb1d1)) +* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] ([096f752](https://github.com/saltstack-formulas/libvirt-formula/commit/096f752b0eae3ac9b6534bf2d9e0950f35645d28)) +* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([6e6c0d9](https://github.com/saltstack-formulas/libvirt-formula/commit/6e6c0d933de90028dc2bd3eabcefa1775aabd7da)) +* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([ec00e3e](https://github.com/saltstack-formulas/libvirt-formula/commit/ec00e3eb34bc263566ce92bcd647ed45050e14af)) +* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([a079cdc](https://github.com/saltstack-formulas/libvirt-formula/commit/a079cdc2a0f03d68e1732656378e5a2ac6cfb0ed)) +* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([5c8976c](https://github.com/saltstack-formulas/libvirt-formula/commit/5c8976cb758d33321efd5edbcc29de15392b2002)) +* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([37c667a](https://github.com/saltstack-formulas/libvirt-formula/commit/37c667aa71143bafbdb0c7b6a80707ba4fdfd211)) +* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([2322349](https://github.com/saltstack-formulas/libvirt-formula/commit/232234979f888992b73516458def557466a8175d)) +* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([af8ebe1](https://github.com/saltstack-formulas/libvirt-formula/commit/af8ebe119ae0ea44453b5f4069df505b03ae2ca8)) +* **pre-commit:** update hook for `rubocop` [skip ci] ([7624e07](https://github.com/saltstack-formulas/libvirt-formula/commit/7624e07e12a109d092043c5e6f77f089df4b4a9c)) + + +### Documentation + +* **changelog:** use quoting to avoid `rst` violations [skip ci] ([a3df474](https://github.com/saltstack-formulas/libvirt-formula/commit/a3df474339fa993abc62185d719dd22f063ddf9c)) + + +### Features + +* **alma+rocky:** add platforms (based on CentOS 8) [skip ci] ([d14c080](https://github.com/saltstack-formulas/libvirt-formula/commit/d14c08055d38c17a0f62753d6b0b0289da4e95c6)) +* **ubuntu-22.04:** use updated `qemu` package name [skip ci] ([9a4abe6](https://github.com/saltstack-formulas/libvirt-formula/commit/9a4abe66829c5b9391e3b68ebbe94333fd2faba7)) + + +### Styles + +* **libsaltcli:** fix comments to jinja comments [skip ci] ([deb2513](https://github.com/saltstack-formulas/libvirt-formula/commit/deb2513b3f7d1e8e1db6db91b5db18159d0c2317)) + + +### Tests + +* **system:** add `build_platform_codename` [skip ci] ([88db281](https://github.com/saltstack-formulas/libvirt-formula/commit/88db281821b21a6f6b1f510b5c8af395b3bfe37c)) +* **system.rb:** add support for `mac_os_x` [skip ci] ([94ee554](https://github.com/saltstack-formulas/libvirt-formula/commit/94ee554f6ded9c58ee122d40cc251a68e75c0e6b)) +* standardise use of `share` suite & `_mapdata` state [skip ci] ([c1ab958](https://github.com/saltstack-formulas/libvirt-formula/commit/c1ab958c2edfac346de7a095d674a61ac1831a47)) + # [3.9.0](https://github.com/saltstack-formulas/libvirt-formula/compare/v3.8.3...v3.9.0) (2021-01-31) @@ -223,13 +280,13 @@ * **rubocop:** add an empty line after magic comments ([](https://github.com/saltstack-formulas/libvirt-formula/commit/ca963fe)) * **rubocop:** add empty line after guard clause ([](https://github.com/saltstack-formulas/libvirt-formula/commit/1978566)) * **rubocop:** avoid comma after the last item of a hash ([](https://github.com/saltstack-formulas/libvirt-formula/commit/a8c5d31)) -* **rubocop:** do not prefix reader method names with get_ ([](https://github.com/saltstack-formulas/libvirt-formula/commit/e7ced7b)) +* **rubocop:** do not prefix reader method names with `get_` ([](https://github.com/saltstack-formulas/libvirt-formula/commit/e7ced7b)) * **rubocop:** extra empty line detected at block body end ([](https://github.com/saltstack-formulas/libvirt-formula/commit/f4dcb5a)) * **rubocop:** extra empty line detected at class body end ([](https://github.com/saltstack-formulas/libvirt-formula/commit/fc0af73)) * **rubocop:** favor modifier if usage when having a single-line body ([](https://github.com/saltstack-formulas/libvirt-formula/commit/e3a9716)) * **rubocop:** missing magic comment “frozen_string_literal: true” ([](https://github.com/saltstack-formulas/libvirt-formula/commit/a07dbfb)) * **rubocop:** prefer single-quoted strings and split too long line ([](https://github.com/saltstack-formulas/libvirt-formula/commit/7944e24)) -* **rubocop:** remove “is_” prefix from predicate name ([](https://github.com/saltstack-formulas/libvirt-formula/commit/c3d20bb)) +* **rubocop:** remove `is_` prefix from predicate name ([](https://github.com/saltstack-formulas/libvirt-formula/commit/c3d20bb)) * **rubocop:** simplify complex methods ([](https://github.com/saltstack-formulas/libvirt-formula/commit/2f6bb0e)) * **rubocop:** the name of source file should use snake_case ([](https://github.com/saltstack-formulas/libvirt-formula/commit/fde048a)) * **rubocop:** unnecessary utf-8 encoding comment ([](https://github.com/saltstack-formulas/libvirt-formula/commit/d605400)) diff --git a/CODEOWNERS b/CODEOWNERS index 30817c6..7a1bcbc 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -18,10 +18,11 @@ /*/_mapdata/ @saltstack-formulas/ssf /*/libsaltcli.jinja @saltstack-formulas/ssf /*/libtofs.jinja @saltstack-formulas/ssf -/test/integration/**/_mapdata_spec.rb @saltstack-formulas/ssf +/test/integration/**/_mapdata.rb @saltstack-formulas/ssf /test/integration/**/libraries/system.rb @saltstack-formulas/ssf /test/integration/**/inspec.yml @saltstack-formulas/ssf /test/integration/**/README.md @saltstack-formulas/ssf +/test/salt/pillar/top.sls @saltstack-formulas/ssf /.gitignore @saltstack-formulas/ssf /.cirrus.yml @saltstack-formulas/ssf /.gitlab-ci.yml @saltstack-formulas/ssf @@ -39,6 +40,8 @@ /Gemfile @saltstack-formulas/ssf /Gemfile.lock @saltstack-formulas/ssf /kitchen.yml @saltstack-formulas/ssf +/kitchen.vagrant.yml @saltstack-formulas/ssf +/kitchen.windows.yml @saltstack-formulas/ssf /pre-commit_semantic-release.sh @saltstack-formulas/ssf /release-rules.js @saltstack-formulas/ssf /release.config.js @saltstack-formulas/ssf diff --git a/FORMULA b/FORMULA index 305c433..1deb8cc 100644 --- a/FORMULA +++ b/FORMULA @@ -1,7 +1,7 @@ name: libvirt os: Debian, CentOS, openSUSE, Suse os_family: Debian, RedHat, Suse -version: 3.9.0 +version: 3.10.0 release: 1 minimum_version: 2018.3 summary: libvirt formula diff --git a/Gemfile b/Gemfile index 82c4a31..12d9b1d 100644 --- a/Gemfile +++ b/Gemfile @@ -1,12 +1,19 @@ # frozen_string_literal: true -source 'https://rubygems.org' - -# Use the latest version of `inspec` prior to `4.23.4`, which introduces a -# regression where the diff isn't displayed when comparing using `eq`. -gem 'inspec', '~> 4.22.22' -# Install the `kitchen-docker` gem from GitHub because the latest version -# currently available (`2.10.0`) doesn't include a recent fix for Gentoo. -gem 'kitchen-docker', github: 'test-kitchen/kitchen-docker', ref: '41e80fe' -gem 'kitchen-inspec', '>= 2.2.1' -gem 'kitchen-salt', '>= 0.6.3' +source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org') + +# Install the `inspec` gem using `git` because versions after `4.22.22` +# suppress diff output; this version fixes this for our uses. +# rubocop:disable Layout/LineLength +gem 'inspec', git: 'https://gitlab.com/saltstack-formulas/infrastructure/inspec', branch: 'ssf' +# rubocop:enable Layout/LineLength + +# Install the `kitchen-docker` gem using `git` in order to gain a performance +# improvement: avoid package installations which are already covered by the +# `salt-image-builder` (i.e. the pre-salted images that we're using) +# rubocop:disable Layout/LineLength +gem 'kitchen-docker', git: 'https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker', branch: 'ssf' +# rubocop:enable Layout/LineLength + +gem 'kitchen-inspec', '>= 2.5.0' +gem 'kitchen-salt', '>= 0.7.2' diff --git a/Gemfile.lock b/Gemfile.lock index 19bf26d..471bb68 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,321 +1,418 @@ GIT - remote: https://github.com/test-kitchen/kitchen-docker.git - revision: 41e80fed3a7cc86323e19c16a5a340cebf7e5848 - ref: 41e80fe + remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec + revision: aaef842906a5666f0fc0b4f186b4dd3498f5b28c + branch: ssf specs: - kitchen-docker (2.10.0) + inspec (5.18.15) + cookstyle + faraday_middleware (>= 0.12.2, < 1.1) + inspec-core (= 5.18.15) + mongo (= 2.13.2) + progress_bar (~> 1.3.3) + rake + train (~> 3.10) + train-aws (~> 0.2) + train-habitat (~> 0.1) + train-winrm (~> 0.2) + inspec-core (5.18.15) + addressable (~> 2.4) + chef-telemetry (~> 1.0, >= 1.0.8) + faraday (>= 0.9.0, < 1.5) + faraday_middleware (~> 1.0) + hashie (>= 3.4, < 5.0) + license-acceptance (>= 0.2.13, < 3.0) + method_source (>= 0.8, < 2.0) + mixlib-log (~> 3.0) + multipart-post (~> 2.0) + parallel (~> 1.9) + parslet (>= 1.5, < 2.0) + pry (~> 0.13) + rspec (>= 3.9, <= 3.11) + rspec-its (~> 1.2) + rubyzip (>= 1.2.2, < 3.0) + semverse (~> 3.0) + sslshake (~> 1.2) + thor (>= 0.20, < 2.0) + tomlrb (>= 1.2, < 2.1) + train-core (~> 3.10) + tty-prompt (~> 0.17) + tty-table (~> 0.10) + +GIT + remote: https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker + revision: 9a09bc1e571e25f3ccabf4725ca2048d970fff82 + branch: ssf + specs: + kitchen-docker (2.12.0) test-kitchen (>= 1.0.0) GEM remote: https://rubygems.org/ specs: - activesupport (5.2.4.4) + activesupport (7.0.3.1) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.7.0) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) - aws-eventstream (1.1.0) - aws-partitions (1.386.0) - aws-sdk-apigateway (1.55.0) - aws-sdk-core (~> 3, >= 3.109.0) + ast (2.4.2) + aws-eventstream (1.2.0) + aws-partitions (1.607.0) + aws-sdk-alexaforbusiness (1.56.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-amplify (1.32.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sigv4 (~> 1.1) + aws-sdk-apigateway (1.78.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-apigatewayv2 (1.42.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-applicationautoscaling (1.51.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-athena (1.55.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-autoscaling (1.63.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-apigatewayv2 (1.29.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-batch (1.47.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-athena (1.33.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-budgets (1.50.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-autoscaling (1.22.0) - aws-sdk-core (~> 3, >= 3.52.1) + aws-sdk-cloudformation (1.70.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-budgets (1.36.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudfront (1.65.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudformation (1.44.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudhsm (1.39.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudfront (1.46.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudhsmv2 (1.42.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudhsm (1.27.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudtrail (1.49.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudhsmv2 (1.30.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudwatch (1.64.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudtrail (1.29.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudwatchevents (1.46.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudwatch (1.45.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudwatchlogs (1.53.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-cloudwatchlogs (1.38.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-codecommit (1.51.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-codecommit (1.40.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-codedeploy (1.49.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-codedeploy (1.37.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-codepipeline (1.53.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-codepipeline (1.37.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cognitoidentity (1.31.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-configservice (1.53.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cognitoidentityprovider (1.53.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-core (3.109.1) + aws-sdk-configservice (1.79.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.131.2) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) + aws-partitions (~> 1, >= 1.525.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1, >= 1.6.1) + aws-sdk-costandusagereportservice (1.40.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-databasemigrationservice (1.53.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-dynamodb (1.75.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-ec2 (1.322.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-ecr (1.56.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-ecrpublic (1.12.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-costandusagereportservice (1.28.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-ecs (1.100.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-dynamodb (1.55.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-efs (1.54.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-ec2 (1.202.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-eks (1.75.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-ecr (1.39.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticache (1.78.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-ecs (1.70.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticbeanstalk (1.51.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-efs (1.36.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticloadbalancing (1.40.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-eks (1.45.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticloadbalancingv2 (1.78.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticache (1.44.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticsearchservice (1.65.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticbeanstalk (1.39.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-emr (1.53.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-elasticloadbalancing (1.29.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-eventbridge (1.24.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticloadbalancingv2 (1.53.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-firehose (1.48.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-elasticsearchservice (1.43.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-glue (1.88.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-firehose (1.35.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-guardduty (1.58.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-guardduty (1.42.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-iam (1.69.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-iam (1.46.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kafka (1.50.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-kafka (1.29.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kinesis (1.41.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-kinesis (1.30.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kms (1.57.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-kms (1.39.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-lambda (1.84.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-lambda (1.51.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-mq (1.40.0) + aws-sdk-core (~> 3, >= 3.120.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.104.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-networkfirewall (1.17.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-redshift (1.50.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-networkmanager (1.24.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-route53 (1.44.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-organizations (1.59.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-route53domains (1.28.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-ram (1.26.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-route53resolver (1.21.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-rds (1.148.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.83.1) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-redshift (1.84.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53 (1.63.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53domains (1.40.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53resolver (1.37.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.114.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.4) + aws-sdk-s3control (1.43.0) + aws-sdk-core (~> 3, >= 3.122.0) + aws-sigv4 (~> 1.1) + aws-sdk-secretsmanager (1.46.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-securityhub (1.67.0) + aws-sdk-core (~> 3, >= 3.127.0) + aws-sigv4 (~> 1.1) + aws-sdk-servicecatalog (1.60.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-ses (1.41.0) + aws-sdk-core (~> 3, >= 3.120.0) aws-sigv4 (~> 1.1) - aws-sdk-securityhub (1.35.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-shield (1.48.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-ses (1.36.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-signer (1.32.0) + aws-sdk-core (~> 3, >= 3.120.0) aws-sigv4 (~> 1.1) - aws-sdk-sms (1.27.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-simpledb (1.29.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sigv2 (~> 1.0) + aws-sdk-sms (1.40.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-sns (1.34.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-sns (1.53.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-sqs (1.34.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-sqs (1.51.1) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-ssm (1.95.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-ssm (1.137.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.2) + aws-sdk-states (1.39.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-synthetics (1.19.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-transfer (1.34.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-waf (1.43.0) + aws-sdk-core (~> 3, >= 3.122.0) + aws-sigv4 (~> 1.1) + aws-sigv2 (1.1.0) + aws-sigv4 (1.5.0) 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) + azure_mgmt_key_vault (0.17.7) ms_rest_azure (~> 0.12.0) - azure_mgmt_resources (0.18.0) + azure_mgmt_resources (0.18.2) ms_rest_azure (~> 0.12.0) - azure_mgmt_security (0.18.2) + azure_mgmt_security (0.19.0) ms_rest_azure (~> 0.12.0) - azure_mgmt_storage (0.22.0) + azure_mgmt_storage (0.23.0) ms_rest_azure (~> 0.12.0) - bcrypt_pbkdf (1.0.1) + bcrypt_pbkdf (1.1.0) + bson (4.15.0) builder (3.2.4) - chef-config (16.6.14) + chef-config (17.10.0) addressable - chef-utils (= 16.6.14) + chef-utils (= 17.10.0) fuzzyurl mixlib-config (>= 2.2.12, < 4.0) mixlib-shellout (>= 2.0, < 4.0) tomlrb (~> 1.2) - chef-telemetry (1.0.14) + chef-telemetry (1.1.1) chef-config concurrent-ruby (~> 1.0) - ffi-yajl (~> 2.2) - chef-utils (16.6.14) + chef-utils (17.10.0) + concurrent-ruby coderay (1.1.3) - concurrent-ruby (1.1.7) + concurrent-ruby (1.1.10) + cookstyle (7.32.1) + rubocop (= 1.25.1) declarative (0.0.20) - declarative-option (0.1.0) - diff-lcs (1.4.4) - docker-api (2.0.0) + diff-lcs (1.5.0) + docker-api (2.2.0) excon (>= 0.47.0) multi_json domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - ecma-re-validator (0.2.1) - regexp_parser (~> 1.2) - ed25519 (1.2.4) - erubi (1.9.0) - excon (0.78.0) - faraday (0.17.3) + ed25519 (1.3.0) + erubi (1.10.0) + excon (0.92.3) + faraday (1.4.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) http-cookie (~> 1.0.0) - faraday_middleware (0.12.2) - faraday (>= 0.7.4, < 1.0) - ffi (1.13.1) - ffi-yajl (2.3.4) - libyajl2 (~> 1.2) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday_middleware (1.0.0) + faraday (~> 1.0) + ffi (1.15.5) fuzzyurl (0.9.0) - google-api-client (0.44.0) + google-api-client (0.52.0) addressable (~> 2.5, >= 2.5.1) googleauth (~> 0.9) httpclient (>= 2.8.1, < 3.0) mini_mime (~> 1.0) representable (~> 3.0) retriable (>= 2.0, < 4.0) + rexml signet (~> 0.12) - googleauth (0.13.0) + googleauth (0.14.0) faraday (>= 0.17.3, < 2.0) jwt (>= 1.4, < 3.0) memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (~> 0.14) - gssapi (1.3.0) + gssapi (1.3.1) ffi (>= 1.0.1) - gyoku (1.3.1) + gyoku (1.4.0) builder (>= 2.1.2) - hana (1.3.6) - hashie (3.6.0) - http-cookie (1.0.3) + rexml (~> 3.0) + hashie (4.1.0) + highline (2.0.3) + http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.8.5) + i18n (1.12.0) concurrent-ruby (~> 1.0) inifile (3.0.0) - inspec (4.22.22) - faraday_middleware (~> 0.12.2) - inspec-core (= 4.22.22) - train (~> 3.0) - train-aws (~> 0.1) - train-habitat (~> 0.1) - train-winrm (~> 0.2) - inspec-core (4.22.22) - addressable (~> 2.4) - chef-telemetry (~> 1.0) - faraday (>= 0.9.0) - hashie (~> 3.4) - json_schemer (>= 0.2.1, < 0.2.12) - license-acceptance (>= 0.2.13, < 2.0) - method_source (>= 0.8, < 2.0) - mixlib-log (~> 3.0) - multipart-post (~> 2.0) - parallel (~> 1.9) - parslet (~> 1.5) - pry (~> 0.13) - rspec (~> 3.9) - rspec-its (~> 1.2) - rubyzip (~> 1.2, >= 1.2.2) - semverse (~> 3.0) - sslshake (~> 1.2) - thor (>= 0.20, < 2.0) - tomlrb (~> 1.2.0) - train-core (~> 3.0) - tty-prompt (~> 0.17) - tty-table (~> 0.10) - jmespath (1.4.0) - json (2.3.1) - json_schemer (0.2.11) - ecma-re-validator (~> 0.2) - hana (~> 1.3) - regexp_parser (~> 1.5) - uri_template (~> 0.7) - jwt (2.2.2) - kitchen-inspec (2.2.1) - hashie (~> 3.4) - inspec (>= 2.2.64, < 5.0) - test-kitchen (>= 2.7, < 3) - kitchen-salt (0.6.3) + jmespath (1.6.1) + json (2.6.2) + jwt (2.4.1) + kitchen-inspec (2.6.1) + hashie (>= 3.4, <= 5.0) + inspec (>= 2.2.64, < 7.0) + test-kitchen (>= 2.7, < 4) + kitchen-salt (0.7.2) hashie (>= 3.5) test-kitchen (>= 1.4) - libyajl2 (1.2.0) - license-acceptance (1.0.19) + license-acceptance (2.1.13) pastel (~> 0.7) - tomlrb (~> 1.2) - tty-box (~> 0.3) - tty-prompt (~> 0.18) + tomlrb (>= 1.2, < 3.0) + tty-box (~> 0.6) + tty-prompt (~> 0.20) little-plugger (1.1.4) - logging (2.3.0) + logging (2.3.1) little-plugger (~> 1.1) multi_json (~> 1.14) memoist (0.16.2) method_source (1.0.0) - mini_mime (1.0.2) - minitest (5.14.2) - mixlib-config (3.0.9) + mini_mime (1.1.2) + minitest (5.16.2) + mixlib-config (3.0.27) tomlrb - mixlib-install (3.12.3) + mixlib-install (3.12.19) mixlib-shellout mixlib-versioning thor mixlib-log (3.0.9) - mixlib-shellout (3.1.6) + mixlib-shellout (3.2.7) chef-utils mixlib-versioning (1.2.12) + mongo (2.13.2) + bson (>= 4.8.2, < 5.0.0) ms_rest (0.7.6) concurrent-ruby (~> 1.0) faraday (>= 0.9, < 2.0.0) @@ -326,60 +423,83 @@ GEM faraday-cookie_jar (~> 0.0.6) ms_rest (~> 0.7.6) multi_json (1.15.0) - multipart-post (2.1.1) + multipart-post (2.2.3) net-scp (3.0.0) net-ssh (>= 2.6.5, < 7.0.0) net-ssh (6.1.0) net-ssh-gateway (2.0.0) net-ssh (>= 4.0.0) nori (2.6.0) - os (1.1.1) - parallel (1.19.2) + options (2.3.2) + os (1.1.4) + parallel (1.22.1) + parser (3.1.2.0) + ast (~> 2.4.1) parslet (1.8.2) pastel (0.8.0) tty-color (~> 0.5) - pry (0.13.1) + progress_bar (1.3.3) + highline (>= 1.6, < 3) + options (~> 2.3.0) + pry (0.14.1) coderay (~> 1.1) method_source (~> 1.0) - public_suffix (4.0.6) - regexp_parser (1.8.2) - representable (3.0.4) + public_suffix (4.0.7) + rainbow (3.1.1) + rake (13.0.6) + regexp_parser (2.5.0) + representable (3.2.0) declarative (< 0.1.0) - declarative-option (< 0.2.0) + trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.3) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.3) + rexml (3.2.5) + rspec (3.11.0) + rspec-core (~> 3.11.0) + rspec-expectations (~> 3.11.0) + rspec-mocks (~> 3.11.0) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) + rspec-support (~> 3.11.0) rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.9.1) + rspec-mocks (3.11.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.4) - rubyntlm (0.6.2) - rubyzip (1.3.0) - semverse (3.0.0) - signet (0.14.0) - addressable (~> 2.3) - faraday (>= 0.17.3, < 2.0) + rspec-support (~> 3.11.0) + rspec-support (3.11.0) + rubocop (1.25.1) + parallel (~> 1.10) + parser (>= 3.1.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.15.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.19.1) + parser (>= 3.1.1.0) + ruby-progressbar (1.11.0) + ruby2_keywords (0.0.5) + rubyntlm (0.6.3) + rubyzip (2.3.2) + semverse (3.0.2) + signet (0.17.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) sslshake (1.3.1) - strings (0.2.0) + strings (0.2.1) strings-ansi (~> 0.2) - unicode-display_width (~> 1.5) + unicode-display_width (>= 1.5, < 3.0) unicode_utils (~> 1.4) strings-ansi (0.2.0) - test-kitchen (2.7.2) + test-kitchen (3.3.1) bcrypt_pbkdf (~> 1.0) + chef-utils (>= 16.4.35) ed25519 (~> 1.2) license-acceptance (>= 1.0.11, < 3.0) mixlib-install (~> 3.6) @@ -391,28 +511,32 @@ GEM winrm (~> 2.0) winrm-elevated (~> 1.0) winrm-fs (~> 1.1) - thor (1.0.1) - thread_safe (0.3.6) + thor (1.2.1) timeliness (0.3.10) - tomlrb (1.2.9) - train (3.3.27) - activesupport (>= 5.2.4.3, < 6.0.0) + tomlrb (1.3.0) + trailblazer-option (0.1.2) + train (3.10.1) + activesupport (>= 6.0.3.1) azure_graph_rbac (~> 0.16) azure_mgmt_key_vault (~> 0.17) azure_mgmt_resources (~> 0.15) azure_mgmt_security (~> 0.18) azure_mgmt_storage (~> 0.18) docker-api (>= 1.26, < 3.0) - google-api-client (>= 0.23.9, < 0.44.1) - googleauth (>= 0.6.6, < 0.13.1) + google-api-client (>= 0.23.9, <= 0.52.0) + googleauth (>= 0.6.6, <= 0.14.0) inifile (~> 3.0) - train-core (= 3.3.27) + train-core (= 3.10.1) train-winrm (~> 0.2) - train-aws (0.1.18) + train-aws (0.2.24) + aws-sdk-alexaforbusiness (~> 1.0) + aws-sdk-amplify (~> 1.32.0) aws-sdk-apigateway (~> 1.0) aws-sdk-apigatewayv2 (~> 1.0) + aws-sdk-applicationautoscaling (>= 1.46, < 1.52) aws-sdk-athena (~> 1.0) - aws-sdk-autoscaling (~> 1.22.0) + aws-sdk-autoscaling (>= 1.22, < 1.64) + aws-sdk-batch (>= 1.36, < 1.48) aws-sdk-budgets (~> 1.0) aws-sdk-cloudformation (~> 1.0) aws-sdk-cloudfront (~> 1.0) @@ -420,16 +544,21 @@ GEM aws-sdk-cloudhsmv2 (~> 1.0) aws-sdk-cloudtrail (~> 1.8) aws-sdk-cloudwatch (~> 1.13) + aws-sdk-cloudwatchevents (>= 1.36, < 1.47) aws-sdk-cloudwatchlogs (~> 1.13) aws-sdk-codecommit (~> 1.0) aws-sdk-codedeploy (~> 1.0) aws-sdk-codepipeline (~> 1.0) + aws-sdk-cognitoidentity (>= 1.26, < 1.32) + aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54) aws-sdk-configservice (~> 1.21) aws-sdk-core (~> 3.0) aws-sdk-costandusagereportservice (~> 1.6) + aws-sdk-databasemigrationservice (>= 1.42, < 1.54) aws-sdk-dynamodb (~> 1.31) aws-sdk-ec2 (~> 1.70) aws-sdk-ecr (~> 1.18) + aws-sdk-ecrpublic (~> 1.3) aws-sdk-ecs (~> 1.30) aws-sdk-efs (~> 1.0) aws-sdk-eks (~> 1.9) @@ -438,48 +567,65 @@ GEM aws-sdk-elasticloadbalancing (~> 1.8) aws-sdk-elasticloadbalancingv2 (~> 1.0) aws-sdk-elasticsearchservice (~> 1.0) + aws-sdk-emr (~> 1.53.0) + aws-sdk-eventbridge (~> 1.24.0) aws-sdk-firehose (~> 1.0) + aws-sdk-glue (>= 1.71, < 1.89) aws-sdk-guardduty (~> 1.31) aws-sdk-iam (~> 1.13) aws-sdk-kafka (~> 1.0) aws-sdk-kinesis (~> 1.0) aws-sdk-kms (~> 1.13) aws-sdk-lambda (~> 1.0) - aws-sdk-organizations (~> 1.17.0) + aws-sdk-mq (~> 1.40.0) + aws-sdk-networkfirewall (>= 1.6.0) + aws-sdk-networkmanager (>= 1.13.0) + aws-sdk-organizations (>= 1.17, < 1.60) + aws-sdk-ram (>= 1.21, < 1.27) aws-sdk-rds (~> 1.43) aws-sdk-redshift (~> 1.0) aws-sdk-route53 (~> 1.0) aws-sdk-route53domains (~> 1.0) aws-sdk-route53resolver (~> 1.0) aws-sdk-s3 (~> 1.30) + aws-sdk-s3control (~> 1.43.0) + aws-sdk-secretsmanager (>= 1.42, < 1.47) aws-sdk-securityhub (~> 1.0) - aws-sdk-ses (~> 1.0) + aws-sdk-servicecatalog (>= 1.48, < 1.61) + aws-sdk-ses (~> 1.41.0) + aws-sdk-shield (~> 1.30) + aws-sdk-signer (~> 1.32.0) + aws-sdk-simpledb (~> 1.29.0) aws-sdk-sms (~> 1.0) aws-sdk-sns (~> 1.9) aws-sdk-sqs (~> 1.10) aws-sdk-ssm (~> 1.0) - train-core (3.3.27) + aws-sdk-states (>= 1.35, < 1.40) + aws-sdk-synthetics (~> 1.19.0) + aws-sdk-transfer (>= 1.26, < 1.35) + aws-sdk-waf (~> 1.43.0) + train-core (3.10.1) addressable (~> 2.5) 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, < 7.0) - train-habitat (0.2.13) - train-winrm (0.2.11) - winrm (~> 2.0) + train-habitat (0.2.22) + train-winrm (0.2.13) + winrm (>= 2.3.6, < 3.0) winrm-elevated (~> 1.2.2) winrm-fs (~> 1.0) - tty-box (0.6.0) + tty-box (0.7.0) pastel (~> 0.8) strings (~> 0.2.0) tty-cursor (~> 0.7) - tty-color (0.5.2) + tty-color (0.6.0) tty-cursor (0.7.1) - tty-prompt (0.22.0) + tty-prompt (0.23.1) pastel (~> 0.8) tty-reader (~> 0.8) - tty-reader (0.8.0) + tty-reader (0.9.0) tty-cursor (~> 0.7) tty-screen (~> 0.8) wisper (~> 2.0) @@ -488,16 +634,15 @@ GEM pastel (~> 0.8) strings (~> 0.2.0) tty-screen (~> 0.8) - tzinfo (1.2.7) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.7.0) + unf_ext (0.0.8.2) + unicode-display_width (2.2.0) unicode_utils (1.4.0) - uri_template (0.7.0) - winrm (2.3.5) + winrm (2.3.6) builder (>= 2.1.2) erubi (~> 1.8) gssapi (~> 1.2) @@ -505,15 +650,15 @@ GEM httpclient (~> 2.2, >= 2.2.0.2) logging (>= 1.6.1, < 3.0) nori (~> 2.0) - rubyntlm (~> 0.6.0, >= 0.6.1) - winrm-elevated (1.2.2) + rubyntlm (~> 0.6.0, >= 0.6.3) + winrm-elevated (1.2.3) erubi (~> 1.8) winrm (~> 2.0) winrm-fs (~> 1.0) - winrm-fs (1.3.3) + winrm-fs (1.3.5) erubi (~> 1.8) logging (>= 1.6.1, < 3.0) - rubyzip (~> 1.1) + rubyzip (~> 2.0) winrm (~> 2.0) wisper (2.0.1) @@ -521,10 +666,10 @@ PLATFORMS ruby DEPENDENCIES - inspec (~> 4.22.22) + inspec! kitchen-docker! - kitchen-inspec (>= 2.2.1) - kitchen-salt (>= 0.6.3) + kitchen-inspec (>= 2.5.0) + kitchen-salt (>= 0.7.2) BUNDLED WITH 2.1.2 diff --git a/bin/kitchen b/bin/kitchen index dcfdb4c..5d5663e 100755 --- a/bin/kitchen +++ b/bin/kitchen @@ -19,8 +19,8 @@ if File.file?(bundle_binstub) load(bundle_binstub) else abort( - 'Your `bin/bundle` was not generated by Bundler, '\ - 'so this binstub cannot run. Replace `bin/bundle` by running '\ + 'Your `bin/bundle` was not generated by Bundler, ' \ + 'so this binstub cannot run. Replace `bin/bundle` by running ' \ '`bundle binstubs bundler --force`, then run this command again.' ) end diff --git a/docs/AUTHORS.rst b/docs/AUTHORS.rst index 1991956..7cb1366 100644 --- a/docs/AUTHORS.rst +++ b/docs/AUTHORS.rst @@ -15,16 +15,19 @@ This list is sorted by the number of commits per contributor in *descending* ord - Contributions * - :raw-html-m2r:`@myii` - `@myii `_ - - 89 + - 166 * - :raw-html-m2r:`@baby-gnu` - `@baby-gnu `_ - - 44 + - 113 * - :raw-html-m2r:`@aboe76` - `@aboe76 `_ - 18 * - :raw-html-m2r:`@gravyboat` - `@gravyboat `_ - 6 + * - :raw-html-m2r:`@dafyddj` + - `@dafyddj `_ + - 4 * - :raw-html-m2r:`@whiteinge` - `@whiteinge `_ - 4 @@ -34,18 +37,21 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@puneetk` - `@puneetk `_ - 3 - * - :raw-html-m2r:`@dafyddj` - - `@dafyddj `_ - - 2 * - :raw-html-m2r:`@nmadhok` - `@nmadhok `_ - 2 * - :raw-html-m2r:`@ukretschmer` - `@ukretschmer `_ - 2 + * - :raw-html-m2r:`@stooj` + - `@stooj `_ + - 2 * - :raw-html-m2r:`@matthew-parlette` - `@matthew-parlette `_ - 2 + * - :raw-html-m2r:`@noelmcloughlin` + - `@noelmcloughlin `_ + - 2 * - :raw-html-m2r:`@andrew-vant` - `@andrew-vant `_ - 1 @@ -61,18 +67,21 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@eliasp` - `@eliasp `_ - 1 - * - :raw-html-m2r:`@noelmcloughlin` - - `@noelmcloughlin `_ + * - :raw-html-m2r:`@stasjok` + - `@stasjok `_ - 1 * - :raw-html-m2r:`@thatch45` - `@thatch45 `_ - 1 - * - :raw-html-m2r:`@babilen5` - - `@babilen5 `_ + * - :raw-html-m2r:`@wwentland` + - `@wwentland `_ - 1 * - :raw-html-m2r:`@Zauberfisch` - `@Zauberfisch `_ - 1 + * - :raw-html-m2r:`@sylvainfaivre` + - `@sylvainfaivre `_ + - 1 * - :raw-html-m2r:`@daks` - `@daks `_ - 1 @@ -80,4 +89,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 2021-01-31. +Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2023-12-13. diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 7cccf28..129a83e 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -2,6 +2,70 @@ Changelog ========= +`3.10.0 `_ (2023-12-13) +----------------------------------------------------------------------------------------------------------- + +Bug Fixes +^^^^^^^^^ + + +* correct package names for debian 11, drop support for debian 9 (\ `a9cd134 `_\ ) +* **config:** ensure daemon dir is created (\ `4a64329 `_\ ) +* **libsaltcli+libmatchers:** ensure Salt client API detection [skip ci] (\ `36db358 `_\ ) +* **parameters:** correct parameters for Arch (\ `cc19cd3 `_\ ) + +Continuous Integration +^^^^^^^^^^^^^^^^^^^^^^ + + +* update ``pre-commit`` configuration inc. for pre-commit.ci [skip ci] (\ `edd2c3f `_\ ) +* **kitchen+gitlab:** update for new pre-salted images [skip ci] (\ `f61c088 `_\ ) +* update linters to latest versions [skip ci] (\ `e912656 `_\ ) +* **3003.1:** update inc. AlmaLinux, Rocky & ``rst-lint`` [skip ci] (\ `a8f8e24 `_\ ) +* **gemfile:** allow rubygems proxy to be provided as an env var [skip ci] (\ `d8c8d7a `_\ ) +* **gemfile+lock:** use ``ssf`` customised ``inspec`` repo [skip ci] (\ `72cc84b `_\ ) +* **gemfile+lock:** use ``ssf`` customised ``kitchen-docker`` repo [skip ci] (\ `f5f6ba0 `_\ ) +* **kitchen:** move ``provisioner`` block & update ``run_command`` [skip ci] (\ `0db92c0 `_\ ) +* **kitchen:** remove Fedora legacy ``crypto-policies`` workaround [skip ci] (\ `cf93fb1 `_\ ) +* **kitchen+ci:** update with ``3004`` pre-salted images/boxes [skip ci] (\ `9aab7f4 `_\ ) +* **kitchen+ci:** update with latest ``3003.2`` pre-salted images [skip ci] (\ `de4ce37 `_\ ) +* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] (\ `096f752 `_\ ) +* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] (\ `6e6c0d9 `_\ ) +* **kitchen+gitlab:** adjust matrix to add ``3003`` [skip ci] (\ `ec00e3e `_\ ) +* **kitchen+gitlab:** update for new pre-salted images [skip ci] (\ `a079cdc `_\ ) +* add Debian 11 Bullseye & update ``yamllint`` configuration [skip ci] (\ `5c8976c `_\ ) +* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] (\ `37c667a `_\ ) +* add ``arch-master`` to matrix and update ``.travis.yml`` [skip ci] (\ `2322349 `_\ ) +* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] (\ `af8ebe1 `_\ ) +* **pre-commit:** update hook for ``rubocop`` [skip ci] (\ `7624e07 `_\ ) + +Documentation +^^^^^^^^^^^^^ + + +* **changelog:** use quoting to avoid ``rst`` violations [skip ci] (\ `a3df474 `_\ ) + +Features +^^^^^^^^ + + +* **alma+rocky:** add platforms (based on CentOS 8) [skip ci] (\ `d14c080 `_\ ) +* **ubuntu-22.04:** use updated ``qemu`` package name [skip ci] (\ `9a4abe6 `_\ ) + +Styles +^^^^^^ + + +* **libsaltcli:** fix comments to jinja comments [skip ci] (\ `deb2513 `_\ ) + +Tests +^^^^^ + + +* **system:** add ``build_platform_codename`` [skip ci] (\ `88db281 `_\ ) +* **system.rb:** add support for ``mac_os_x`` [skip ci] (\ `94ee554 `_\ ) +* standardise use of ``share`` suite & ``_mapdata`` state [skip ci] (\ `c1ab958 `_\ ) + `3.9.0 `_ (2021-01-31) --------------------------------------------------------------------------------------------------------- @@ -273,13 +337,13 @@ Bug Fixes * **rubocop:** add an empty line after magic comments (\ ` `_\ ) * **rubocop:** add empty line after guard clause (\ ` `_\ ) * **rubocop:** avoid comma after the last item of a hash (\ ` `_\ ) -* **rubocop:** do not prefix reader method names with get_ (\ ` `_\ ) +* **rubocop:** do not prefix reader method names with ``get_`` (\ ` `_\ ) * **rubocop:** extra empty line detected at block body end (\ ` `_\ ) * **rubocop:** extra empty line detected at class body end (\ ` `_\ ) * **rubocop:** favor modifier if usage when having a single-line body (\ ` `_\ ) * **rubocop:** missing magic comment “frozen_string_literal: true” (\ ` `_\ ) * **rubocop:** prefer single-quoted strings and split too long line (\ ` `_\ ) -* **rubocop:** remove “is_” prefix from predicate name (\ ` `_\ ) +* **rubocop:** remove ``is_`` prefix from predicate name (\ ` `_\ ) * **rubocop:** simplify complex methods (\ ` `_\ ) * **rubocop:** the name of source file should use snake_case (\ ` `_\ ) * **rubocop:** unnecessary utf-8 encoding comment (\ ` `_\ ) diff --git a/kitchen.yml b/kitchen.yml index a2f37ea..212a506 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -6,30 +6,47 @@ driver: name: docker use_sudo: false privileged: true - run_command: /lib/systemd/systemd + run_command: /usr/lib/systemd/systemd + +provisioner: + name: salt_solo + log_level: debug + salt_install: none + require_chef: false + formula: libvirt + salt_copy_filter: + - .kitchen + - .git -# Make sure the platforms listed below match up with -# the `env.matrix` instances defined in `.travis.yml` platforms: ## SALT `tiamat` + - name: debian-11-tiamat-py3 + driver: + image: saltimages/salt-tiamat-py3:debian-11 + run_command: /lib/systemd/systemd - name: debian-10-tiamat-py3 driver: image: saltimages/salt-tiamat-py3:debian-10 + run_command: /lib/systemd/systemd - name: debian-9-tiamat-py3 driver: image: saltimages/salt-tiamat-py3:debian-9 + run_command: /lib/systemd/systemd + - name: ubuntu-2204-tiamat-py3 + driver: + image: saltimages/salt-tiamat-py3:ubuntu-22.04 + run_command: /lib/systemd/systemd - name: ubuntu-2004-tiamat-py3 driver: image: saltimages/salt-tiamat-py3:ubuntu-20.04 + run_command: /lib/systemd/systemd - name: ubuntu-1804-tiamat-py3 driver: image: saltimages/salt-tiamat-py3:ubuntu-18.04 - - name: ubuntu-1604-tiamat-py3 - driver: - image: saltimages/salt-tiamat-py3:ubuntu-16.04 - - name: centos-8-tiamat-py3 + run_command: /lib/systemd/systemd + - name: centos-stream8-tiamat-py3 driver: - image: saltimages/salt-tiamat-py3:centos-8 + image: saltimages/salt-tiamat-py3:centos-stream8 - name: centos-7-tiamat-py3 driver: image: saltimages/salt-tiamat-py3:centos-7 @@ -42,47 +59,60 @@ platforms: - name: oraclelinux-7-tiamat-py3 driver: image: saltimages/salt-tiamat-py3:oraclelinux-7 + - name: almalinux-8-tiamat-py3 + driver: + image: saltimages/salt-tiamat-py3:almalinux-8 + - name: rockylinux-8-tiamat-py3 + driver: + image: saltimages/salt-tiamat-py3:rockylinux-8 ## SALT `master` + - name: debian-11-master-py3 + driver: + image: saltimages/salt-master-py3:debian-11 + run_command: /lib/systemd/systemd - name: debian-10-master-py3 driver: image: saltimages/salt-master-py3:debian-10 + run_command: /lib/systemd/systemd - name: debian-9-master-py3 driver: image: saltimages/salt-master-py3:debian-9 + run_command: /lib/systemd/systemd + - name: ubuntu-2204-master-py3 + driver: + image: saltimages/salt-master-py3:ubuntu-22.04 + run_command: /lib/systemd/systemd - name: ubuntu-2004-master-py3 driver: image: saltimages/salt-master-py3:ubuntu-20.04 + run_command: /lib/systemd/systemd - name: ubuntu-1804-master-py3 driver: image: saltimages/salt-master-py3:ubuntu-18.04 - - name: ubuntu-1604-master-py3 + run_command: /lib/systemd/systemd + - name: centos-stream8-master-py3 driver: - image: saltimages/salt-master-py3:ubuntu-16.04 - - name: centos-8-master-py3 - driver: - image: saltimages/salt-master-py3:centos-8 + image: saltimages/salt-master-py3:centos-stream8 - name: centos-7-master-py3 driver: image: saltimages/salt-master-py3:centos-7 - - name: fedora-33-master-py3 + - name: fedora-36-master-py3 driver: - image: saltimages/salt-master-py3:fedora-33 - - name: fedora-32-master-py3 + image: saltimages/salt-master-py3:fedora-36 + - name: fedora-35-master-py3 driver: - image: saltimages/salt-master-py3:fedora-32 - - name: opensuse-leap-152-master-py3 + image: saltimages/salt-master-py3:fedora-35 + - name: opensuse-leap-153-master-py3 driver: - image: saltimages/salt-master-py3:opensuse-leap-15.2 - run_command: /usr/lib/systemd/systemd - # Workaround to avoid intermittent failures on `opensuse-leap-15.2`: + image: saltimages/salt-master-py3:opensuse-leap-15.3 + # Workaround to avoid intermittent failures on `opensuse-leap-15.3`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: max_ssh_sessions: 1 - name: opensuse-tmbl-latest-master-py3 driver: image: saltimages/salt-master-py3:opensuse-tumbleweed-latest - run_command: /usr/lib/systemd/systemd # Workaround to avoid intermittent failures on `opensuse-tumbleweed`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: @@ -93,6 +123,12 @@ platforms: - name: oraclelinux-8-master-py3 driver: image: saltimages/salt-master-py3:oraclelinux-8 + - name: oraclelinux-7-master-py3 + driver: + image: saltimages/salt-master-py3:oraclelinux-7 + - name: arch-base-latest-master-py3 + driver: + image: saltimages/salt-master-py3:arch-base-latest - name: gentoo-stage3-latest-master-py3 driver: image: saltimages/salt-master-py3:gentoo-stage3-latest @@ -100,207 +136,134 @@ platforms: - name: gentoo-stage3-systemd-master-py3 driver: image: saltimages/salt-master-py3:gentoo-stage3-systemd - - ## SALT `3002.2` - - name: debian-10-3002-2-py3 + - name: almalinux-8-master-py3 driver: - image: saltimages/salt-3002.2-py3:debian-10 - - name: debian-9-3002-2-py3 + image: saltimages/salt-master-py3:almalinux-8 + - name: rockylinux-8-master-py3 driver: - image: saltimages/salt-3002.2-py3:debian-9 - - name: ubuntu-2004-3002-2-py3 - driver: - image: saltimages/salt-3002.2-py3:ubuntu-20.04 - - name: ubuntu-1804-3002-2-py3 - driver: - image: saltimages/salt-3002.2-py3:ubuntu-18.04 - - name: ubuntu-1604-3002-2-py3 + image: saltimages/salt-master-py3:rockylinux-8 + + ## SALT `3004.1` + - name: debian-11-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:ubuntu-16.04 - - name: centos-8-3002-2-py3 + image: saltimages/salt-3004.1-py3:debian-11 + run_command: /lib/systemd/systemd + - name: debian-10-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:centos-8 - - name: centos-7-3002-2-py3 + image: saltimages/salt-3004.1-py3:debian-10 + run_command: /lib/systemd/systemd + - name: debian-9-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:centos-7 - - name: fedora-33-3002-2-py3 + image: saltimages/salt-3004.1-py3:debian-9 + run_command: /lib/systemd/systemd + - name: ubuntu-2204-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:fedora-33 - - name: fedora-32-3002-2-py3 + image: saltimages/salt-3004.1-py3:ubuntu-22.04 + run_command: /lib/systemd/systemd + - name: ubuntu-2004-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:fedora-32 - - name: opensuse-leap-152-3002-2-py3 + image: saltimages/salt-3004.1-py3:ubuntu-20.04 + run_command: /lib/systemd/systemd + - name: ubuntu-1804-3004-1-py3 driver: - image: saltimages/salt-3002.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: opensuse-tmbl-latest-3002-2-py3 + image: saltimages/salt-3004.1-py3:ubuntu-18.04 + run_command: /lib/systemd/systemd + - name: centos-stream8-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:opensuse-tumbleweed-latest - run_command: /usr/lib/systemd/systemd - # Workaround to avoid intermittent failures on `opensuse-tumbleweed`: - # => SCP did not finish successfully (255): (Net::SCP::Error) - transport: - max_ssh_sessions: 1 - - name: amazonlinux-2-3002-2-py3 + image: saltimages/salt-3004.1-py3:centos-stream8 + - name: centos-7-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:amazonlinux-2 - - name: oraclelinux-8-3002-2-py3 + image: saltimages/salt-3004.1-py3:centos-7 + - name: fedora-36-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:oraclelinux-8 - - name: oraclelinux-7-3002-2-py3 + image: saltimages/salt-3004.1-py3:fedora-36 + - name: fedora-35-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:oraclelinux-7 - - name: arch-base-latest-3002-2-py3 + image: saltimages/salt-3004.1-py3:fedora-35 + - name: amazonlinux-2-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:arch-base-latest - run_command: /usr/lib/systemd/systemd - - name: gentoo-stage3-latest-3002-2-py3 + image: saltimages/salt-3004.1-py3:amazonlinux-2 + - name: oraclelinux-8-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:gentoo-stage3-latest - run_command: /sbin/init - - name: gentoo-stage3-systemd-3002-2-py3 + image: saltimages/salt-3004.1-py3:oraclelinux-8 + - name: oraclelinux-7-3004-1-py3 driver: - image: saltimages/salt-3002.2-py3:gentoo-stage3-systemd - - ## SALT `3001.4` - - name: debian-10-3001-4-py3 + image: saltimages/salt-3004.1-py3:oraclelinux-7 + - name: arch-base-latest-3004-1-py3 driver: - image: saltimages/salt-3001.4-py3:debian-10 - - name: debian-9-3001-4-py3 + image: saltimages/salt-3004.1-py3:arch-base-latest + - name: gentoo-stage3-latest-3004-1-py3 driver: - image: saltimages/salt-3001.4-py3:debian-9 - - name: ubuntu-2004-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:ubuntu-20.04 - - name: ubuntu-1804-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:ubuntu-18.04 - - name: ubuntu-1604-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:ubuntu-16.04 - - name: centos-8-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:centos-8 - - name: centos-7-3001-4-py3 + image: saltimages/salt-3004.1-py3:gentoo-stage3-latest + run_command: /sbin/init + - name: gentoo-stage3-systemd-3004-1-py3 driver: - image: saltimages/salt-3001.4-py3:centos-7 - - name: fedora-33-3001-4-py3 + image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd + - name: almalinux-8-3004-1-py3 driver: - image: saltimages/salt-3001.4-py3:fedora-33 - - name: fedora-32-3001-4-py3 + image: saltimages/salt-3004.1-py3:almalinux-8 + - name: rockylinux-8-3004-1-py3 driver: - image: saltimages/salt-3001.4-py3:fedora-32 - - name: opensuse-leap-152-3001-4-py3 + image: saltimages/salt-3004.1-py3:rockylinux-8 + + ## SALT `3004.0` + - name: opensuse-leap-153-3004-0-py3 driver: - image: saltimages/salt-3001.4-py3:opensuse-leap-15.2 - run_command: /usr/lib/systemd/systemd - # Workaround to avoid intermittent failures on `opensuse-leap-15.2`: + image: saltimages/salt-3004.0-py3:opensuse-leap-15.3 + # Workaround to avoid intermittent failures on `opensuse-leap-15.3`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: max_ssh_sessions: 1 - - name: opensuse-tmbl-latest-3001-4-py3 + - name: opensuse-tmbl-latest-3004-0-py3 driver: - image: saltimages/salt-3001.4-py3:opensuse-tumbleweed-latest - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest # Workaround to avoid intermittent failures on `opensuse-tumbleweed`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: max_ssh_sessions: 1 - - name: amazonlinux-2-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:amazonlinux-2 - - name: oraclelinux-8-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:oraclelinux-8 - - name: oraclelinux-7-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:oraclelinux-7 - - name: arch-base-latest-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:arch-base-latest - run_command: /usr/lib/systemd/systemd - - name: gentoo-stage3-latest-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:gentoo-stage3-latest - run_command: /sbin/init - - name: gentoo-stage3-systemd-3001-4-py3 - driver: - image: saltimages/salt-3001.4-py3:gentoo-stage3-systemd - ## SALT `3000.6` - - name: debian-10-3000-6-py3 - driver: - image: saltimages/salt-3000.6-py3:debian-10 - - name: debian-9-3000-6-py3 - driver: - image: saltimages/salt-3000.6-py3:debian-9 - - name: ubuntu-1804-3000-6-py3 - driver: - image: saltimages/salt-3000.6-py3:ubuntu-18.04 - - name: ubuntu-1604-3000-6-py3 + ## SALT `3003.4` + - name: debian-10-3003-4-py3 driver: - image: saltimages/salt-3000.6-py3:ubuntu-16.04 - - name: centos-8-3000-6-py3 + image: saltimages/salt-3003.4-py3:debian-10 + run_command: /lib/systemd/systemd + - name: debian-9-3003-4-py3 driver: - image: saltimages/salt-3000.6-py3:centos-8 - - name: centos-7-3000-6-py3 + image: saltimages/salt-3003.4-py3:debian-9 + run_command: /lib/systemd/systemd + - name: ubuntu-2004-3003-4-py3 driver: - image: saltimages/salt-3000.6-py3:centos-7 - - name: opensuse-leap-152-3000-6-py3 + image: saltimages/salt-3003.4-py3:ubuntu-20.04 + run_command: /lib/systemd/systemd + - name: ubuntu-1804-3003-4-py3 driver: - image: saltimages/salt-3000.6-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-3000-6-py3 - driver: - image: saltimages/salt-3000.6-py3:amazonlinux-2 - - name: oraclelinux-8-3000-6-py3 + image: saltimages/salt-3003.4-py3:ubuntu-18.04 + run_command: /lib/systemd/systemd + - name: centos-stream8-3003-4-py3 driver: - image: saltimages/salt-3000.6-py3:oraclelinux-8 - - name: oraclelinux-7-3000-6-py3 + image: saltimages/salt-3003.4-py3:centos-stream8 + - name: centos-7-3003-4-py3 driver: - image: saltimages/salt-3000.6-py3:oraclelinux-7 - - name: gentoo-stage3-latest-3000-6-py3 + image: saltimages/salt-3003.4-py3:centos-7 + - name: amazonlinux-2-3003-4-py3 driver: - image: saltimages/salt-3000.6-py3:gentoo-stage3-latest - run_command: /sbin/init - - name: gentoo-stage3-systemd-3000-6-py3 - driver: - image: saltimages/salt-3000.6-py3:gentoo-stage3-systemd - - name: ubuntu-1804-3000-6-py2 + image: saltimages/salt-3003.4-py3:amazonlinux-2 + - name: oraclelinux-8-3003-4-py3 driver: - image: saltimages/salt-3000.6-py2:ubuntu-18.04 - - name: ubuntu-1604-3000-6-py2 + image: saltimages/salt-3003.4-py3:oraclelinux-8 + - name: oraclelinux-7-3003-4-py3 driver: - image: saltimages/salt-3000.6-py2:ubuntu-16.04 - - name: arch-base-latest-3000-6-py2 + image: saltimages/salt-3003.4-py3:oraclelinux-7 + - name: almalinux-8-3003-4-py3 driver: - image: saltimages/salt-3000.6-py2:arch-base-latest - run_command: /usr/lib/systemd/systemd - -provisioner: - name: salt_solo - log_level: debug - salt_install: none - require_chef: false - formula: libvirt - salt_copy_filter: - - .kitchen - - .git + image: saltimages/salt-3003.4-py3:almalinux-8 verifier: # https://www.inspec.io/ name: inspec sudo: true - # cli, documentation, html, progress, json, json-min, json-rspec, junit reporter: + # cli, documentation, html, progress, json, json-min, json-rspec, junit - cli suites: @@ -309,6 +272,7 @@ suites: state_top: base: '*': + - libvirt._mapdata - libvirt pillars: top.sls: @@ -327,6 +291,7 @@ suites: state_top: base: '*': + - libvirt._mapdata - libvirt - libvirt.clean pillars: diff --git a/libvirt/_mapdata/_mapdata.jinja b/libvirt/_mapdata/_mapdata.jinja new file mode 100644 index 0000000..aa9649c --- /dev/null +++ b/libvirt/_mapdata/_mapdata.jinja @@ -0,0 +1,13 @@ +# yamllint disable rule:indentation rule:line-length +# {{ grains.get("osfinger", grains.os) }} +--- +{#- use salt.slsutil.serialize to avoid encoding errors on some platforms #} +{{ salt["slsutil.serialize"]( + "yaml", + map, + default_flow_style=False, + allow_unicode=True, + ) + | regex_replace("^\s+'$", "'", multiline=True) + | trim +}} diff --git a/libvirt/_mapdata/init.sls b/libvirt/_mapdata/init.sls new file mode 100644 index 0000000..3529a8d --- /dev/null +++ b/libvirt/_mapdata/init.sls @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls +--- +{#- Get the `tplroot` from `tpldir` #} +{%- set tplroot = tpldir.split("/")[0] %} +{%- from tplroot ~ "/map.jinja" import mapdata with context %} + +{%- set _mapdata = { + "values": mapdata, + } %} +{%- do salt["log.debug"]("### MAP.JINJA DUMP ###\n" ~ _mapdata | yaml(False)) %} + +{%- set output_dir = "/temp" if grains.os_family == "Windows" else "/tmp" %} +{%- set output_file = output_dir ~ "/salt_mapdata_dump.yaml" %} + +{{ tplroot }}-mapdata-dump: + file.managed: + - name: {{ output_file }} + - source: salt://{{ tplroot }}/_mapdata/_mapdata.jinja + - template: jinja + - context: + map: {{ _mapdata | yaml }} diff --git a/libvirt/libsaltcli.jinja b/libvirt/libsaltcli.jinja index 5c3593e..c473723 100644 --- a/libvirt/libsaltcli.jinja +++ b/libvirt/libsaltcli.jinja @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -# vim: ft=jinja +{#- -*- coding: utf-8 -*- #} +{#- vim: ft=jinja #} {#- Get the relevant values from the `opts` dict #} {%- set opts_cli = opts.get('__cli', '') %} @@ -10,6 +10,8 @@ {%- set cli = 'minion' %} {%- elif opts_cli == 'salt-call' %} {%- set cli = 'ssh' if opts_masteropts_cli in ('salt-ssh', 'salt-master') else 'local' %} +{%- elif opts_cli %} +{%- set cli = 'api' %} {%- else %} {%- set cli = 'unknown' %} {%- endif %} diff --git a/libvirt/parameters/defaults.yaml b/libvirt/parameters/defaults.yaml index 3edf8c7..265d448 100644 --- a/libvirt/parameters/defaults.yaml +++ b/libvirt/parameters/defaults.yaml @@ -15,7 +15,7 @@ values: libvirt_pkg: libvirt qemu_pkg: qemu python2_pkg: libvirt-python - python3_pkg: libvirt-python3 + python3_pkg: python3-libvirt libvirt_service: libvirtd libvirtd_config: /etc/libvirt/libvirtd.conf daemon_config_path: {} diff --git a/libvirt/parameters/os/AlmaLinux.yaml b/libvirt/parameters/os/AlmaLinux.yaml new file mode 100644 index 0000000..932cb1c --- /dev/null +++ b/libvirt/parameters/os/AlmaLinux.yaml @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +# +# Setup variables specific to salt['config.get']('os') == CentOS. +# You just need to add the key:values for this `os` that differ +# from `defaults.yaml` + `.yaml` + `.yaml`. +# +# If you do not need to provide defaults via the `os` config, +# you can remove this file or provide at least an empty dict, e.g. +# values: {} +--- +values: + python2_pkg: ~ +... diff --git a/libvirt/parameters/os/CentOS.yaml b/libvirt/parameters/os/CentOS.yaml index cf4e916..932cb1c 100644 --- a/libvirt/parameters/os/CentOS.yaml +++ b/libvirt/parameters/os/CentOS.yaml @@ -11,5 +11,4 @@ --- values: python2_pkg: ~ - python3_pkg: python3-libvirt ... diff --git a/libvirt/parameters/os/Fedora.yaml b/libvirt/parameters/os/Fedora.yaml index 99df8a1..77b0c73 100644 --- a/libvirt/parameters/os/Fedora.yaml +++ b/libvirt/parameters/os/Fedora.yaml @@ -11,5 +11,4 @@ --- values: python2_pkg: python2-libvirt - python3_pkg: python3-libvirt ... diff --git a/libvirt/parameters/os/Rocky.yaml b/libvirt/parameters/os/Rocky.yaml new file mode 100644 index 0000000..932cb1c --- /dev/null +++ b/libvirt/parameters/os/Rocky.yaml @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +# +# Setup variables specific to salt['config.get']('os') == CentOS. +# You just need to add the key:values for this `os` that differ +# from `defaults.yaml` + `.yaml` + `.yaml`. +# +# If you do not need to provide defaults via the `os` config, +# you can remove this file or provide at least an empty dict, e.g. +# values: {} +--- +values: + python2_pkg: ~ +... diff --git a/libvirt/parameters/os_family/Arch.yaml b/libvirt/parameters/os_family/Arch.yaml index 7d55435..36427f2 100644 --- a/libvirt/parameters/os_family/Arch.yaml +++ b/libvirt/parameters/os_family/Arch.yaml @@ -11,4 +11,6 @@ --- values: daemon_config_path: /etc/conf.d + qemu_pkg: qemu-full + python3_pkg: libvirt-python ... diff --git a/libvirt/parameters/os_family/Debian.yaml b/libvirt/parameters/os_family/Debian.yaml index b594d72..bcfa828 100644 --- a/libvirt/parameters/os_family/Debian.yaml +++ b/libvirt/parameters/os_family/Debian.yaml @@ -12,13 +12,11 @@ values: libvirt_pkg: libvirt-daemon-system libvirt_service: libvirtd - qemu_pkg: qemu-kvm + qemu_pkg: qemu-system-x86 python2_pkg: python-libvirt - python3_pkg: python3-libvirt extra_pkgs: - libguestfs0 - libguestfs-tools - gnutls-bin - - virt-top daemon_config_path: /etc/default ... diff --git a/libvirt/parameters/osfinger/Ubuntu-16.04.yaml b/libvirt/parameters/osfinger/Debian-9.yaml similarity index 83% rename from libvirt/parameters/osfinger/Ubuntu-16.04.yaml rename to libvirt/parameters/osfinger/Debian-9.yaml index 0ea5750..977da64 100644 --- a/libvirt/parameters/osfinger/Ubuntu-16.04.yaml +++ b/libvirt/parameters/osfinger/Debian-9.yaml @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # vim: ft=yaml # -# Setup variables specific to salt['config.get']('osfinger') == Ubuntu-16.04. +# Setup variables specific to salt['config.get']('osfinger') == Debian-9. # You just need to add the key:values for this `osfinger` that differ # from `defaults.yaml`. # @@ -10,6 +10,7 @@ # values: {} --- values: - libvirt_pkg: libvirt-bin - libvirt_service: libvirt-bin + extra_pkgs: + - gnutls-bin + qemu_pkg: qemu-kvm ... diff --git a/libvirt/parameters/osfinger/Ubuntu-18.04.yaml b/libvirt/parameters/osfinger/Ubuntu-18.04.yaml new file mode 100644 index 0000000..83c9146 --- /dev/null +++ b/libvirt/parameters/osfinger/Ubuntu-18.04.yaml @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +# +# Setup variables specific to salt['config.get']('osfinger') == Ubuntu-18.04. +# You just need to add the key:values for this `osfinger` that differ +# from `defaults.yaml`. +# +# If you do not need to provide defaults via the `osfinger` config, +# you can remove this file or provide at least an empty dict, e.g. +# values: {} +--- +values: + qemu_pkg: qemu-kvm +... diff --git a/libvirt/parameters/osfinger/Ubuntu-20.04.yaml b/libvirt/parameters/osfinger/Ubuntu-20.04.yaml new file mode 100644 index 0000000..de494c1 --- /dev/null +++ b/libvirt/parameters/osfinger/Ubuntu-20.04.yaml @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +# +# Setup variables specific to salt['config.get']('osfinger') == Ubuntu-20.04. +# You just need to add the key:values for this `osfinger` that differ +# from `defaults.yaml`. +# +# If you do not need to provide defaults via the `osfinger` config, +# you can remove this file or provide at least an empty dict, e.g. +# values: {} +--- +values: + qemu_pkg: qemu-kvm +... diff --git a/libvirt/server/config/files.sls b/libvirt/server/config/files.sls index a69428c..9758710 100644 --- a/libvirt/server/config/files.sls +++ b/libvirt/server/config/files.sls @@ -28,6 +28,11 @@ libvirt-server-config-files-libvirtd-file-managed: - watch_in: - service: libvirt-server-service-running-service-running +libvirt-server-config-files-daemonconfig-dir-managed: + file.directory: + - name: {{ libvirt_settings.daemon_config_path }} + - mode: '0755' + libvirt-server-config-files-daemonconfig-file-managed: file.managed: - name: {{ libvirt_settings.daemon_config_path }}/{{ libvirt_settings.libvirt_service }} @@ -39,5 +44,6 @@ libvirt-server-config-files-daemonconfig-file-managed: }} - require: - pkg: libvirt-server-package-install-pkg-installed + - file: libvirt-server-config-files-daemonconfig-dir-managed - watch_in: - service: libvirt-server-service-running-service-running diff --git a/pre-commit_semantic-release.sh b/pre-commit_semantic-release.sh index 458b7b6..80f46e2 100755 --- a/pre-commit_semantic-release.sh +++ b/pre-commit_semantic-release.sh @@ -7,16 +7,16 @@ sed -i -e "s_^\(version:\).*_\1 ${1}_" FORMULA ############################################################################### -# (B) Use `m2r` to convert automatically produced `.md` docs to `.rst` +# (B) Use `m2r2` to convert automatically produced `.md` docs to `.rst` ############################################################################### -# Install `m2r` -pip3 install m2r +# Install `m2r2` +pip3 install m2r2 # Copy and then convert the `.md` docs cp ./*.md docs/ cd docs/ || exit -m2r --overwrite ./*.md +m2r2 --overwrite ./*.md # Change excess `H1` headings to `H2` in converted `CHANGELOG.rst` sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst diff --git a/test/integration/clean/inspec.yml b/test/integration/clean/inspec.yml index 469ad79..521fade 100644 --- a/test/integration/clean/inspec.yml +++ b/test/integration/clean/inspec.yml @@ -15,3 +15,5 @@ supports: - platform-name: centos - platform-name: fedora - platform-name: opensuse + - platform-name: almalinux + - platform-name: rocky diff --git a/test/integration/default/controls/service_spec.rb b/test/integration/default/controls/service_spec.rb index b8762a5..e1ad289 100644 --- a/test/integration/default/controls/service_spec.rb +++ b/test/integration/default/controls/service_spec.rb @@ -8,6 +8,7 @@ title 'verify running service' describe service('libvirtd') do + it { should be_installed } it { should be_enabled } it { should be_running } end diff --git a/test/integration/default/inspec.yml b/test/integration/default/inspec.yml index bb97657..076fbc0 100644 --- a/test/integration/default/inspec.yml +++ b/test/integration/default/inspec.yml @@ -15,3 +15,5 @@ supports: - platform-name: centos - platform-name: fedora - platform-name: opensuse + - platform-name: almalinux + - platform-name: rocky diff --git a/test/integration/share/inspec.yml b/test/integration/share/inspec.yml index 697417a..28a97b9 100644 --- a/test/integration/share/inspec.yml +++ b/test/integration/share/inspec.yml @@ -14,8 +14,12 @@ supports: - platform-name: opensuse - platform-name: suse - platform-name: freebsd + - platform-name: openbsd - platform-name: amazon - platform-name: oracle - platform-name: arch - platform-name: gentoo + - platform-name: almalinux + - platform-name: rocky + - platform-name: mac_os_x - platform: windows diff --git a/test/integration/share/libraries/libvirt.rb b/test/integration/share/libraries/libvirt.rb index 273b4df..c8e7066 100644 --- a/test/integration/share/libraries/libvirt.rb +++ b/test/integration/share/libraries/libvirt.rb @@ -12,6 +12,8 @@ class LibvirtResource < Inspec.resource(1) supports platform_name: 'centos' supports platform_name: 'fedora' supports platform_name: 'opensuse' + supports platform_name: 'almalinux' + supports platform_name: 'rocky' attr_reader :packages diff --git a/test/integration/share/libraries/libvirt_packages.rb b/test/integration/share/libraries/libvirt_packages.rb index d769f41..879f107 100644 --- a/test/integration/share/libraries/libvirt_packages.rb +++ b/test/integration/share/libraries/libvirt_packages.rb @@ -13,6 +13,8 @@ class LibvirtPackagesResource < Inspec.resource(1) supports platform_name: 'centos' supports platform_name: 'fedora' supports platform_name: 'opensuse' + supports platform_name: 'almalinux' + supports platform_name: 'rocky' attr_reader :packages @@ -49,7 +51,7 @@ def build_os_family_packages def build_os_name_packages # osfamily.yaml / osmap.yaml case inspec.system.platform[:name] - when 'centos' + when 'centos', 'almalinux', 'rockylinux' build_centos_packages when 'ubuntu' @@ -76,7 +78,8 @@ def build_default_packages def build_debian_packages { 'libvirt' => ['libvirt-daemon-system'], - 'extra' => %w[libguestfs0 libguestfs-tools gnutls-bin virt-top], + 'qemu' => ['qemu-system-x86'], + 'extra' => %w[libguestfs0 libguestfs-tools gnutls-bin], 'python' => if inspec.salt_minion.python3? ['python3-libvirt'] else diff --git a/test/integration/share/libraries/libvirt_socket_admin.rb b/test/integration/share/libraries/libvirt_socket_admin.rb index 2501103..bc556c1 100644 --- a/test/integration/share/libraries/libvirt_socket_admin.rb +++ b/test/integration/share/libraries/libvirt_socket_admin.rb @@ -12,6 +12,8 @@ class LibvirtSocketAdminResource < Inspec.resource(1) supports platform_name: 'centos' supports platform_name: 'fedora' supports platform_name: 'opensuse' + supports platform_name: 'almalinux' + supports platform_name: 'rocky' def initialize super diff --git a/test/integration/share/libraries/libvirt_socket_ro.rb b/test/integration/share/libraries/libvirt_socket_ro.rb index 77fae5e..867f670 100644 --- a/test/integration/share/libraries/libvirt_socket_ro.rb +++ b/test/integration/share/libraries/libvirt_socket_ro.rb @@ -12,6 +12,8 @@ class LibvirtSocketRoResource < Inspec.resource(1) supports platform_name: 'centos' supports platform_name: 'fedora' supports platform_name: 'opensuse' + supports platform_name: 'almalinux' + supports platform_name: 'rocky' def initialize super diff --git a/test/integration/share/libraries/libvirt_socket_rw.rb b/test/integration/share/libraries/libvirt_socket_rw.rb index cf18671..21b6fdc 100644 --- a/test/integration/share/libraries/libvirt_socket_rw.rb +++ b/test/integration/share/libraries/libvirt_socket_rw.rb @@ -12,6 +12,8 @@ class LibvirtSocketRwResource < Inspec.resource(1) supports platform_name: 'centos' supports platform_name: 'fedora' supports platform_name: 'opensuse' + supports platform_name: 'almalinux' + supports platform_name: 'rocky' def initialize super diff --git a/test/integration/share/libraries/salt_minion.rb b/test/integration/share/libraries/salt_minion.rb index 9cec784..58fdfcc 100644 --- a/test/integration/share/libraries/salt_minion.rb +++ b/test/integration/share/libraries/salt_minion.rb @@ -12,6 +12,8 @@ class SaltMinionResource < Inspec.resource(1) supports platform_name: 'centos' supports platform_name: 'fedora' supports platform_name: 'opensuse' + supports platform_name: 'almalinux' + supports platform_name: 'rocky' def initialize super diff --git a/test/integration/share/libraries/system.rb b/test/integration/share/libraries/system.rb index ba08443..64405bb 100644 --- a/test/integration/share/libraries/system.rb +++ b/test/integration/share/libraries/system.rb @@ -4,6 +4,7 @@ # Author: Daniel Dehennin # Copyright (C) 2020 Daniel Dehennin +# rubocop:disable Metrics/ClassLength class SystemResource < Inspec.resource(1) name 'system' @@ -21,7 +22,8 @@ def build_platform family: build_platform_family, name: build_platform_name, release: build_platform_release, - finger: build_platform_finger + finger: build_platform_finger, + codename: build_platform_codename } end @@ -36,10 +38,10 @@ def build_platform_family def build_platform_name case inspec.platform[:name] - when 'amazon', 'oracle' + when 'amazon', 'oracle', 'rocky' "#{inspec.platform[:name]}linux" - when 'windows_8.1_pro', 'windows_server_2019_datacenter' - 'windows' + when /^windows_/ + inspec.platform[:family] else inspec.platform[:name] end @@ -49,20 +51,26 @@ def build_platform_name def build_platform_release case inspec.platform[:name] when 'amazon' - # `2018` relase is named `1` in kitchen.yaml + # `2018` relase is named `1` in `kitchen.yml` inspec.platform[:release].gsub(/2018.*/, '1') when 'arch' '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] # rubocop:enable Style/NumericLiterals,Layout/LineLength when 'windows_8.1_pro' '8.1' + when 'windows_server_2022_datacenter' + '2022-server' when 'windows_server_2019_datacenter' '2019-server' + when 'windows_server_2016_datacenter' + '2016-server' else inspec.platform[:release] end @@ -85,4 +93,46 @@ def build_finger_release build_platform_release.split('.')[0] end end + + # rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity + def build_platform_codename + case build_platform_finger + when 'ubuntu-22.04' + 'jammy' + when 'ubuntu-20.04' + 'focal' + when 'ubuntu-18.04' + 'bionic' + when 'debian-11' + 'bullseye' + when 'debian-10' + 'buster' + when 'debian-9' + 'stretch' + when 'almalinux-8' + "AlmaLinux #{build_platform_release} (Arctic Sphynx)" + when 'amazonlinux-2' + 'Amazon Linux 2' + when 'arch-base-latest' + 'Arch Linux' + when 'centos-7' + 'CentOS Linux 7 (Core)' + when 'centos-8' + 'CentOS Stream 8' + when 'opensuse-tumbleweed' + 'openSUSE Tumbleweed' + when 'opensuse-15' + "openSUSE Leap #{build_platform_release}" + when 'oraclelinux-8', 'oraclelinux-7' + "Oracle Linux Server #{build_platform_release}" + when 'gentoo-2-sysd', 'gentoo-2-sysv' + 'Gentoo/Linux' + when 'rockylinux-8' + "Rocky Linux #{build_platform_release} (Green Obsidian)" + else + '' + end + end + # rubocop:enable Metrics/MethodLength,Metrics/CyclomaticComplexity end +# rubocop:enable Metrics/ClassLength diff --git a/test/integration/share/libraries/systemd_config.rb b/test/integration/share/libraries/systemd_config.rb index cf34c83..6568803 100644 --- a/test/integration/share/libraries/systemd_config.rb +++ b/test/integration/share/libraries/systemd_config.rb @@ -12,6 +12,8 @@ class SystemdConfigResource < Inspec.resource(1) supports platform_name: 'centos' supports platform_name: 'fedora' supports platform_name: 'opensuse' + supports platform_name: 'almalinux' + supports platform_name: 'rocky' def initialize(service_name) super()