diff --git a/.gitignore b/.gitignore index 94f77a8..39752a7 100644 --- a/.gitignore +++ b/.gitignore @@ -127,6 +127,7 @@ tmp/ # `salt-formula` -- Vagrant Specific files .vagrant top.sls +!test/salt/pillar/top.sls # `suricata-formula` -- Platform binaries *.rpm diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3dcf638..c3dd4d5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -123,9 +123,12 @@ rubocop: ## 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` +# git-debian-11-tiamat-py3: {extends: '.test_instance'} # git-debian-10-tiamat-py3: {extends: '.test_instance'} +domains-debian-10-tiamat-py3: {extends: '.test_instance'} # git-debian-9-tiamat-py3: {extends: '.test_instance'} # git-ubuntu-2004-tiamat-py3: {extends: '.test_instance'} +domains-ubuntu-2004-tiamat-py3: {extends: '.test_instance'} # git-ubuntu-1804-tiamat-py3: {extends: '.test_instance'} # git-centos-8-tiamat-py3: {extends: '.test_instance'} # git-centos-7-tiamat-py3: {extends: '.test_instance'} @@ -134,12 +137,19 @@ rubocop: # git-oraclelinux-7-tiamat-py3: {extends: '.test_instance'} # git-almalinux-8-tiamat-py3: {extends: '.test_instance'} # git-rockylinux-8-tiamat-py3: {extends: '.test_instance'} +# git-debian-11-master-py3: {extends: '.test_instance'} +deb-debian-11-master-py3: {extends: '.test_instance'} +# domains-debian-11-master-py3: {extends: '.test_instance'} # git-debian-10-master-py3: {extends: '.test_instance'} deb-debian-10-master-py3: {extends: '.test_instance'} +# domains-debian-10-master-py3: {extends: '.test_instance'} # git-debian-9-master-py3: {extends: '.test_instance'} deb-debian-9-master-py3: {extends: '.test_instance'} -# git-ubuntu-2004-master-py3: {extends: '.test_instance'} -# git-ubuntu-1804-master-py3: {extends: '.test_instance'} +# domains-debian-9-master-py3: {extends: '.test_instance'} +git-ubuntu-2004-master-py3: {extends: '.test_instance'} +# domains-ubuntu-2004-master-py3: {extends: '.test_instance'} +git-ubuntu-1804-master-py3: {extends: '.test_instance'} +# domains-ubuntu-1804-master-py3: {extends: '.test_instance'} # git-centos-8-master-py3: {extends: '.test_instance'} rpm-centos-8-master-py3: {extends: '.test_instance'} # git-centos-7-master-py3: {extends: '.test_instance'} @@ -164,72 +174,60 @@ git-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'} rpm-almalinux-8-master-py3: {extends: '.test_instance'} # git-rockylinux-8-master-py3: {extends: '.test_instance'} rpm-rockylinux-8-master-py3: {extends: '.test_instance'} -# git-debian-10-3003-1-py3: {extends: '.test_instance'} -# git-debian-9-3003-1-py3: {extends: '.test_instance'} -# git-ubuntu-2004-3003-1-py3: {extends: '.test_instance'} -# git-ubuntu-1804-3003-1-py3: {extends: '.test_instance'} -# git-centos-8-3003-1-py3: {extends: '.test_instance'} -# git-centos-7-3003-1-py3: {extends: '.test_instance'} -# git-fedora-34-3003-1-py3: {extends: '.test_instance'} -# git-fedora-33-3003-1-py3: {extends: '.test_instance'} -# git-opensuse-leap-153-3003-1-py3: {extends: '.test_instance'} -# git-opensuse-leap-152-3003-1-py3: {extends: '.test_instance'} -# git-opensuse-tmbl-latest-3003-1-py3: {extends: '.test_instance'} -# git-amazonlinux-2-3003-1-py3: {extends: '.test_instance'} -# git-oraclelinux-8-3003-1-py3: {extends: '.test_instance'} -# git-oraclelinux-7-3003-1-py3: {extends: '.test_instance'} -# git-arch-base-latest-3003-1-py3: {extends: '.test_instance'} -# git-gentoo-stage3-latest-3003-1-py3: {extends: '.test_instance'} -# git-gentoo-stage3-systemd-3003-1-py3: {extends: '.test_instance'} -# git-debian-10-3002-6-py3: {extends: '.test_instance'} -# git-debian-9-3002-6-py3: {extends: '.test_instance'} -# git-ubuntu-2004-3002-6-py3: {extends: '.test_instance'} -# git-ubuntu-1804-3002-6-py3: {extends: '.test_instance'} -# git-centos-8-3002-6-py3: {extends: '.test_instance'} -# git-centos-7-3002-6-py3: {extends: '.test_instance'} -# git-fedora-34-3002-6-py3: {extends: '.test_instance'} -# git-fedora-33-3002-6-py3: {extends: '.test_instance'} -# git-amazonlinux-2-3002-6-py3: {extends: '.test_instance'} -# git-oraclelinux-8-3002-6-py3: {extends: '.test_instance'} -# git-oraclelinux-7-3002-6-py3: {extends: '.test_instance'} -# git-arch-base-latest-3002-6-py3: {extends: '.test_instance'} -# git-gentoo-stage3-latest-3002-6-py3: {extends: '.test_instance'} -# git-gentoo-stage3-systemd-3002-6-py3: {extends: '.test_instance'} -# git-opensuse-leap-153-3002-2-py3: {extends: '.test_instance'} -# git-opensuse-leap-152-3002-2-py3: {extends: '.test_instance'} -# git-opensuse-tmbl-latest-3002-2-py3: {extends: '.test_instance'} -# git-debian-10-3001-7-py3: {extends: '.test_instance'} -# git-debian-9-3001-7-py3: {extends: '.test_instance'} -# git-ubuntu-2004-3001-7-py3: {extends: '.test_instance'} -# git-ubuntu-1804-3001-7-py3: {extends: '.test_instance'} -# git-centos-8-3001-7-py3: {extends: '.test_instance'} -# git-centos-7-3001-7-py3: {extends: '.test_instance'} -# git-fedora-34-3001-7-py3: {extends: '.test_instance'} -# git-fedora-33-3001-7-py3: {extends: '.test_instance'} -# git-opensuse-leap-153-3001-7-py3: {extends: '.test_instance'} -# git-opensuse-leap-152-3001-7-py3: {extends: '.test_instance'} -# git-opensuse-tmbl-latest-3001-7-py3: {extends: '.test_instance'} -# git-amazonlinux-2-3001-7-py3: {extends: '.test_instance'} -# git-oraclelinux-8-3001-7-py3: {extends: '.test_instance'} -# git-oraclelinux-7-3001-7-py3: {extends: '.test_instance'} -# git-arch-base-latest-3001-7-py3: {extends: '.test_instance'} -# git-gentoo-stage3-latest-3001-7-py3: {extends: '.test_instance'} -# git-gentoo-stage3-systemd-3001-7-py3: {extends: '.test_instance'} -# git-debian-10-3000-9-py3: {extends: '.test_instance'} -# git-debian-9-3000-9-py3: {extends: '.test_instance'} -# git-ubuntu-1804-3000-9-py3: {extends: '.test_instance'} -# git-centos-8-3000-9-py3: {extends: '.test_instance'} -# git-centos-7-3000-9-py3: {extends: '.test_instance'} -# git-opensuse-leap-153-3000-9-py3: {extends: '.test_instance'} -# git-opensuse-leap-152-3000-9-py3: {extends: '.test_instance'} -# git-amazonlinux-2-3000-9-py3: {extends: '.test_instance'} -# git-oraclelinux-8-3000-9-py3: {extends: '.test_instance'} -# git-oraclelinux-7-3000-9-py3: {extends: '.test_instance'} -# git-gentoo-stage3-latest-3000-9-py3: {extends: '.test_instance'} -# git-gentoo-stage3-systemd-3000-9-py3: {extends: '.test_instance'} -# git-ubuntu-1804-3000-9-py2: {extends: '.test_instance'} -# git-arch-base-latest-3000-9-py2: {extends: '.test_instance'} -domains-debian-10-3003-1-py3: {extends: '.test_instance'} +# git-debian-11-3003-3-py3: {extends: '.test_instance'} +# git-debian-10-3003-3-py3: {extends: '.test_instance'} +# git-debian-9-3003-3-py3: {extends: '.test_instance'} +# git-ubuntu-2004-3003-3-py3: {extends: '.test_instance'} +# git-ubuntu-1804-3003-3-py3: {extends: '.test_instance'} +# git-centos-8-3003-3-py3: {extends: '.test_instance'} +# git-centos-7-3003-3-py3: {extends: '.test_instance'} +# git-fedora-34-3003-3-py3: {extends: '.test_instance'} +# git-fedora-33-3003-3-py3: {extends: '.test_instance'} +# git-opensuse-leap-153-3003-3-py3: {extends: '.test_instance'} +# git-opensuse-leap-152-3003-3-py3: {extends: '.test_instance'} +# git-opensuse-tmbl-latest-3003-3-py3: {extends: '.test_instance'} +# git-amazonlinux-2-3003-3-py3: {extends: '.test_instance'} +# git-oraclelinux-8-3003-3-py3: {extends: '.test_instance'} +# git-oraclelinux-7-3003-3-py3: {extends: '.test_instance'} +# git-arch-base-latest-3003-3-py3: {extends: '.test_instance'} +# git-gentoo-stage3-latest-3003-3-py3: {extends: '.test_instance'} +# git-gentoo-stage3-systemd-3003-3-py3: {extends: '.test_instance'} +# git-almalinux-8-3003-3-py3: {extends: '.test_instance'} +# git-debian-11-3002-7-py3: {extends: '.test_instance'} +# git-debian-10-3002-7-py3: {extends: '.test_instance'} +# git-debian-9-3002-7-py3: {extends: '.test_instance'} +# git-ubuntu-2004-3002-7-py3: {extends: '.test_instance'} +# git-ubuntu-1804-3002-7-py3: {extends: '.test_instance'} +# git-centos-8-3002-7-py3: {extends: '.test_instance'} +# git-centos-7-3002-7-py3: {extends: '.test_instance'} +# git-fedora-34-3002-7-py3: {extends: '.test_instance'} +# git-fedora-33-3002-7-py3: {extends: '.test_instance'} +# git-opensuse-leap-153-3002-7-py3: {extends: '.test_instance'} +# git-opensuse-leap-152-3002-7-py3: {extends: '.test_instance'} +# git-opensuse-tmbl-latest-3002-7-py3: {extends: '.test_instance'} +# git-amazonlinux-2-3002-7-py3: {extends: '.test_instance'} +# git-oraclelinux-8-3002-7-py3: {extends: '.test_instance'} +# git-oraclelinux-7-3002-7-py3: {extends: '.test_instance'} +# git-arch-base-latest-3002-7-py3: {extends: '.test_instance'} +# git-gentoo-stage3-latest-3002-7-py3: {extends: '.test_instance'} +# git-gentoo-stage3-systemd-3002-7-py3: {extends: '.test_instance'} +# git-debian-10-3001-8-py3: {extends: '.test_instance'} +# git-debian-9-3001-8-py3: {extends: '.test_instance'} +# git-ubuntu-2004-3001-8-py3: {extends: '.test_instance'} +# git-ubuntu-1804-3001-8-py3: {extends: '.test_instance'} +# git-centos-8-3001-8-py3: {extends: '.test_instance'} +# git-centos-7-3001-8-py3: {extends: '.test_instance'} +# git-fedora-34-3001-8-py3: {extends: '.test_instance'} +# git-fedora-33-3001-8-py3: {extends: '.test_instance'} +# git-opensuse-leap-153-3001-8-py3: {extends: '.test_instance'} +# git-opensuse-leap-152-3001-8-py3: {extends: '.test_instance'} +# git-opensuse-tmbl-latest-3001-8-py3: {extends: '.test_instance'} +# git-amazonlinux-2-3001-8-py3: {extends: '.test_instance'} +# git-oraclelinux-8-3001-8-py3: {extends: '.test_instance'} +# git-oraclelinux-7-3001-8-py3: {extends: '.test_instance'} +# git-arch-base-latest-3001-8-py3: {extends: '.test_instance'} +# git-gentoo-stage3-latest-3001-8-py3: {extends: '.test_instance'} +# git-gentoo-stage3-systemd-3001-8-py3: {extends: '.test_instance'} ############################################################################### # `release` stage: `semantic-release` diff --git a/.travis.yml b/.travis.yml index 62dc1de..4983718 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,9 +83,12 @@ 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=git-debian-11-tiamat-py3 # - env: INSTANCE=git-debian-10-tiamat-py3 + - env: INSTANCE=domains-debian-10-tiamat-py3 # - env: INSTANCE=git-debian-9-tiamat-py3 # - env: INSTANCE=git-ubuntu-2004-tiamat-py3 + - env: INSTANCE=domains-ubuntu-2004-tiamat-py3 # - env: INSTANCE=git-ubuntu-1804-tiamat-py3 # - env: INSTANCE=git-centos-8-tiamat-py3 # - env: INSTANCE=git-centos-7-tiamat-py3 @@ -94,12 +97,19 @@ jobs: # - env: INSTANCE=git-oraclelinux-7-tiamat-py3 # - env: INSTANCE=git-almalinux-8-tiamat-py3 # - env: INSTANCE=git-rockylinux-8-tiamat-py3 + # - env: INSTANCE=git-debian-11-master-py3 + - env: INSTANCE=deb-debian-11-master-py3 + # - env: INSTANCE=domains-debian-11-master-py3 # - env: INSTANCE=git-debian-10-master-py3 - env: INSTANCE=deb-debian-10-master-py3 + # - env: INSTANCE=domains-debian-10-master-py3 # - env: INSTANCE=git-debian-9-master-py3 - env: INSTANCE=deb-debian-9-master-py3 - # - env: INSTANCE=git-ubuntu-2004-master-py3 - # - env: INSTANCE=git-ubuntu-1804-master-py3 + # - env: INSTANCE=domains-debian-9-master-py3 + - env: INSTANCE=git-ubuntu-2004-master-py3 + # - env: INSTANCE=domains-ubuntu-2004-master-py3 + - env: INSTANCE=git-ubuntu-1804-master-py3 + # - env: INSTANCE=domains-ubuntu-1804-master-py3 # - env: INSTANCE=git-centos-8-master-py3 - env: INSTANCE=rpm-centos-8-master-py3 # - env: INSTANCE=git-centos-7-master-py3 @@ -124,71 +134,60 @@ jobs: - env: INSTANCE=rpm-almalinux-8-master-py3 # - env: INSTANCE=git-rockylinux-8-master-py3 - env: INSTANCE=rpm-rockylinux-8-master-py3 - # - env: INSTANCE=git-debian-10-3003-1-py3 - # - env: INSTANCE=git-debian-9-3003-1-py3 - # - env: INSTANCE=git-ubuntu-2004-3003-1-py3 - # - env: INSTANCE=git-ubuntu-1804-3003-1-py3 - # - env: INSTANCE=git-centos-8-3003-1-py3 - # - env: INSTANCE=git-centos-7-3003-1-py3 - # - env: INSTANCE=git-fedora-34-3003-1-py3 - # - env: INSTANCE=git-fedora-33-3003-1-py3 - # - env: INSTANCE=git-opensuse-leap-153-3003-1-py3 - # - env: INSTANCE=git-opensuse-leap-152-3003-1-py3 - # - env: INSTANCE=git-opensuse-tmbl-latest-3003-1-py3 - # - env: INSTANCE=git-amazonlinux-2-3003-1-py3 - # - env: INSTANCE=git-oraclelinux-8-3003-1-py3 - # - env: INSTANCE=git-oraclelinux-7-3003-1-py3 - # - env: INSTANCE=git-arch-base-latest-3003-1-py3 - # - env: INSTANCE=git-gentoo-stage3-latest-3003-1-py3 - # - env: INSTANCE=git-gentoo-stage3-systemd-3003-1-py3 - # - env: INSTANCE=git-debian-10-3002-6-py3 - # - env: INSTANCE=git-debian-9-3002-6-py3 - # - env: INSTANCE=git-ubuntu-2004-3002-6-py3 - # - env: INSTANCE=git-ubuntu-1804-3002-6-py3 - # - env: INSTANCE=git-centos-8-3002-6-py3 - # - env: INSTANCE=git-centos-7-3002-6-py3 - # - env: INSTANCE=git-fedora-34-3002-6-py3 - # - env: INSTANCE=git-fedora-33-3002-6-py3 - # - env: INSTANCE=git-amazonlinux-2-3002-6-py3 - # - env: INSTANCE=git-oraclelinux-8-3002-6-py3 - # - env: INSTANCE=git-oraclelinux-7-3002-6-py3 - # - env: INSTANCE=git-arch-base-latest-3002-6-py3 - # - env: INSTANCE=git-gentoo-stage3-latest-3002-6-py3 - # - env: INSTANCE=git-gentoo-stage3-systemd-3002-6-py3 - # - env: INSTANCE=git-opensuse-leap-153-3002-2-py3 - # - env: INSTANCE=git-opensuse-leap-152-3002-2-py3 - # - env: INSTANCE=git-opensuse-tmbl-latest-3002-2-py3 - # - env: INSTANCE=git-debian-10-3001-7-py3 - # - env: INSTANCE=git-debian-9-3001-7-py3 - # - env: INSTANCE=git-ubuntu-2004-3001-7-py3 - # - env: INSTANCE=git-ubuntu-1804-3001-7-py3 - # - env: INSTANCE=git-centos-8-3001-7-py3 - # - env: INSTANCE=git-centos-7-3001-7-py3 - # - env: INSTANCE=git-fedora-34-3001-7-py3 - # - env: INSTANCE=git-fedora-33-3001-7-py3 - # - env: INSTANCE=git-opensuse-leap-153-3001-7-py3 - # - env: INSTANCE=git-opensuse-leap-152-3001-7-py3 - # - env: INSTANCE=git-opensuse-tmbl-latest-3001-7-py3 - # - env: INSTANCE=git-amazonlinux-2-3001-7-py3 - # - env: INSTANCE=git-oraclelinux-8-3001-7-py3 - # - env: INSTANCE=git-oraclelinux-7-3001-7-py3 - # - env: INSTANCE=git-arch-base-latest-3001-7-py3 - # - env: INSTANCE=git-gentoo-stage3-latest-3001-7-py3 - # - env: INSTANCE=git-gentoo-stage3-systemd-3001-7-py3 - # - env: INSTANCE=git-debian-10-3000-9-py3 - # - env: INSTANCE=git-debian-9-3000-9-py3 - # - env: INSTANCE=git-ubuntu-1804-3000-9-py3 - # - env: INSTANCE=git-centos-8-3000-9-py3 - # - env: INSTANCE=git-centos-7-3000-9-py3 - # - env: INSTANCE=git-opensuse-leap-153-3000-9-py3 - # - env: INSTANCE=git-opensuse-leap-152-3000-9-py3 - # - env: INSTANCE=git-amazonlinux-2-3000-9-py3 - # - env: INSTANCE=git-oraclelinux-8-3000-9-py3 - # - env: INSTANCE=git-oraclelinux-7-3000-9-py3 - # - env: INSTANCE=git-gentoo-stage3-latest-3000-9-py3 - # - env: INSTANCE=git-gentoo-stage3-systemd-3000-9-py3 - # - env: INSTANCE=git-ubuntu-1804-3000-9-py2 - # - env: INSTANCE=git-arch-base-latest-3000-9-py2 + # - env: INSTANCE=git-debian-11-3003-3-py3 + # - env: INSTANCE=git-debian-10-3003-3-py3 + # - env: INSTANCE=git-debian-9-3003-3-py3 + # - env: INSTANCE=git-ubuntu-2004-3003-3-py3 + # - env: INSTANCE=git-ubuntu-1804-3003-3-py3 + # - env: INSTANCE=git-centos-8-3003-3-py3 + # - env: INSTANCE=git-centos-7-3003-3-py3 + # - env: INSTANCE=git-fedora-34-3003-3-py3 + # - env: INSTANCE=git-fedora-33-3003-3-py3 + # - env: INSTANCE=git-opensuse-leap-153-3003-3-py3 + # - env: INSTANCE=git-opensuse-leap-152-3003-3-py3 + # - env: INSTANCE=git-opensuse-tmbl-latest-3003-3-py3 + # - env: INSTANCE=git-amazonlinux-2-3003-3-py3 + # - env: INSTANCE=git-oraclelinux-8-3003-3-py3 + # - env: INSTANCE=git-oraclelinux-7-3003-3-py3 + # - env: INSTANCE=git-arch-base-latest-3003-3-py3 + # - env: INSTANCE=git-gentoo-stage3-latest-3003-3-py3 + # - env: INSTANCE=git-gentoo-stage3-systemd-3003-3-py3 + # - env: INSTANCE=git-almalinux-8-3003-3-py3 + # - env: INSTANCE=git-debian-11-3002-7-py3 + # - env: INSTANCE=git-debian-10-3002-7-py3 + # - env: INSTANCE=git-debian-9-3002-7-py3 + # - env: INSTANCE=git-ubuntu-2004-3002-7-py3 + # - env: INSTANCE=git-ubuntu-1804-3002-7-py3 + # - env: INSTANCE=git-centos-8-3002-7-py3 + # - env: INSTANCE=git-centos-7-3002-7-py3 + # - env: INSTANCE=git-fedora-34-3002-7-py3 + # - env: INSTANCE=git-fedora-33-3002-7-py3 + # - env: INSTANCE=git-opensuse-leap-153-3002-7-py3 + # - env: INSTANCE=git-opensuse-leap-152-3002-7-py3 + # - env: INSTANCE=git-opensuse-tmbl-latest-3002-7-py3 + # - env: INSTANCE=git-amazonlinux-2-3002-7-py3 + # - env: INSTANCE=git-oraclelinux-8-3002-7-py3 + # - env: INSTANCE=git-oraclelinux-7-3002-7-py3 + # - env: INSTANCE=git-arch-base-latest-3002-7-py3 + # - env: INSTANCE=git-gentoo-stage3-latest-3002-7-py3 + # - env: INSTANCE=git-gentoo-stage3-systemd-3002-7-py3 + # - env: INSTANCE=git-debian-10-3001-8-py3 + # - env: INSTANCE=git-debian-9-3001-8-py3 + # - env: INSTANCE=git-ubuntu-2004-3001-8-py3 + # - env: INSTANCE=git-ubuntu-1804-3001-8-py3 + # - env: INSTANCE=git-centos-8-3001-8-py3 + # - env: INSTANCE=git-centos-7-3001-8-py3 + # - env: INSTANCE=git-fedora-34-3001-8-py3 + # - env: INSTANCE=git-fedora-33-3001-8-py3 + # - env: INSTANCE=git-opensuse-leap-153-3001-8-py3 + # - env: INSTANCE=git-opensuse-leap-152-3001-8-py3 + # - env: INSTANCE=git-opensuse-tmbl-latest-3001-8-py3 + # - env: INSTANCE=git-amazonlinux-2-3001-8-py3 + # - env: INSTANCE=git-oraclelinux-8-3001-8-py3 + # - env: INSTANCE=git-oraclelinux-7-3001-8-py3 + # - env: INSTANCE=git-arch-base-latest-3001-8-py3 + # - env: INSTANCE=git-gentoo-stage3-latest-3001-8-py3 + # - env: INSTANCE=git-gentoo-stage3-systemd-3001-8-py3 ## Define the release stage that runs `semantic-release` - stage: 'release' diff --git a/.yamllint b/.yamllint index 72dc99f..716baaf 100644 --- a/.yamllint +++ b/.yamllint @@ -5,13 +5,15 @@ extends: 'default' # Files to ignore completely -# 1. All YAML files under directory `.cache/`, introduced during the GitLab CI run -# 2. All YAML files under directory `.git/` -# 3. All YAML files under directory `node_modules/`, introduced during the Travis run -# 4. Any SLS files under directory `test/`, which are actually state files -# 5. Any YAML files under directory `.kitchen/`, introduced during local testing -# 6. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax +# 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/ diff --git a/AUTHORS.md b/AUTHORS.md index adeadaf..2b3b3dc 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -4,8 +4,8 @@ This list is sorted by the number of commits per contributor in _descending_ ord Avatar|Contributor|Contributions :-:|---|:-: -@myii|[@myii](https://github.com/myii)|70 -@javierbertoli|[@javierbertoli](https://github.com/javierbertoli)|33 +@myii|[@myii](https://github.com/myii)|93 +@javierbertoli|[@javierbertoli](https://github.com/javierbertoli)|35 @martinhoefling|[@martinhoefling](https://github.com/martinhoefling)|16 @fortunejuggle|[@fortunejuggle](https://github.com/fortunejuggle)|13 @aboe76|[@aboe76](https://github.com/aboe76)|11 @@ -36,9 +36,9 @@ Avatar|Contributor|Contributions @kislik|[@kislik](https://github.com/kislik)|1 @noelmcloughlin|[@noelmcloughlin](https://github.com/noelmcloughlin)|1 @waynew|[@waynew](https://github.com/waynew)|1 -@babilen5|[@babilen5](https://github.com/babilen5)|1 +@babilen|[@babilen](https://github.com/babilen)|1 @moebiuseye|[@moebiuseye](https://github.com/moebiuseye)|1 --- -Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-07-02. +Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-11-18. diff --git a/CHANGELOG.md b/CHANGELOG.md index 41a8c0c..8943bfe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +# [3.2.0](https://github.com/saltstack-formulas/letsencrypt-formula/compare/v3.1.0...v3.2.0) (2021-11-18) + + +### Code Refactoring + +* **install:** adapt virtualenv package to OS ([5b92061](https://github.com/saltstack-formulas/letsencrypt-formula/commit/5b920617e89c382059be16c4367a2e15361101ef)) +* **install:** change use_package to install_method ([852f110](https://github.com/saltstack-formulas/letsencrypt-formula/commit/852f110df1e72126f517eab48f7475c828025cf5)) + + +### Continuous Integration + +* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([ab94eb5](https://github.com/saltstack-formulas/letsencrypt-formula/commit/ab94eb5d2e8793ed7b2c406cc38aa7b1aa29e6b7)) +* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([65772ab](https://github.com/saltstack-formulas/letsencrypt-formula/commit/65772abcea0c1ade2fdb54449c5810aa4370b421)) +* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([5aac5bd](https://github.com/saltstack-formulas/letsencrypt-formula/commit/5aac5bd8202adf3a35c5c76aa0b96f4a03dbd9ce)) +* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] ([68d6aab](https://github.com/saltstack-formulas/letsencrypt-formula/commit/68d6aab249e87efa1a478b0a919b6b77a090ffd4)) +* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([46b391d](https://github.com/saltstack-formulas/letsencrypt-formula/commit/46b391d9e161a43efe3a658fbad6a70b53bb250a)) +* standardise structure [skip ci] ([650f5e4](https://github.com/saltstack-formulas/letsencrypt-formula/commit/650f5e43a40b8d5328a8abecc6d7ecea29cf2592)) + + +### Documentation + +* **readme:** document pip installation method ([288140f](https://github.com/saltstack-formulas/letsencrypt-formula/commit/288140f9c8b17f169fd788dc0aee9964d5b30328)) + + +### Features + +* install certbot with pip ([756a272](https://github.com/saltstack-formulas/letsencrypt-formula/commit/756a2722e05dfabc8ad67e502aeef76d0b950018)) +* **pip:** allow plugin installation ([ea3b3e0](https://github.com/saltstack-formulas/letsencrypt-formula/commit/ea3b3e04fe5ba3942448839461571e5b202a438a)) + # [3.1.0](https://github.com/saltstack-formulas/letsencrypt-formula/compare/v3.0.0...v3.1.0) (2021-07-02) diff --git a/FORMULA b/FORMULA index 0310e08..f5dfb42 100644 --- a/FORMULA +++ b/FORMULA @@ -1,7 +1,7 @@ name: letsencrypt os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS -version: 3.1.0 +version: 3.2.0 release: 1 minimum_version: 2017.7 summary: letsencrypt formula diff --git a/Gemfile b/Gemfile index c08ad6c..1fc06c5 100644 --- a/Gemfile +++ b/Gemfile @@ -2,13 +2,18 @@ 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 using `git` because the latest version -# currently available (`2.10.0`) doesn't include a recent fix for Gentoo. +# 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.2.1' + +gem 'kitchen-inspec', '>= 2.5.0' gem 'kitchen-salt', '>= 0.6.3' diff --git a/Gemfile.lock b/Gemfile.lock index 6ad4ef9..906ebe5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,321 +1,409 @@ +GIT + remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec + revision: 1cd64079dbbafa1bf19bbc08a2ea977aa1db7ebe + branch: ssf + specs: + inspec (4.49.0) + cookstyle + faraday_middleware (>= 0.12.2, < 1.1) + inspec-core (= 4.49.0) + mongo (= 2.13.2) + train (~> 3.0) + train-aws (~> 0.2) + train-habitat (~> 0.1) + train-winrm (~> 0.2) + inspec-core (4.49.0) + 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.0) + tty-prompt (~> 0.17) + tty-table (~> 0.10) + GIT remote: https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker - revision: 1f543f654da5c1774cb8737f6f07a01745520bb5 + revision: 428c89fc250b3790abad5ecb0afe0c3d4956084c branch: ssf specs: - kitchen-docker (2.10.0) + kitchen-docker (2.11.0) test-kitchen (>= 1.0.0) GEM remote: https://rubygems.org/ specs: - activesupport (5.2.4.4) + activesupport (6.1.4.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) + zeitwerk (~> 2.3) + 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.519.0) + aws-sdk-alexaforbusiness (1.51.0) + aws-sdk-core (~> 3, >= 3.121.2) + 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.68.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-apigatewayv2 (1.37.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-applicationautoscaling (1.51.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-athena (1.42.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-athena (1.33.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-autoscaling (1.63.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-autoscaling (1.22.0) - aws-sdk-core (~> 3, >= 3.52.1) + aws-sdk-batch (1.47.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-budgets (1.36.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-budgets (1.42.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-cloudformation (1.44.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudformation (1.59.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-cloudfront (1.46.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudfront (1.57.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-cloudhsm (1.27.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudhsm (1.34.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-cloudhsmv2 (1.30.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudhsmv2 (1.37.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-cloudtrail (1.29.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudtrail (1.39.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-cloudwatch (1.45.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudwatch (1.56.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-cloudwatchlogs (1.38.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-codecommit (1.40.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-cloudwatchlogs (1.46.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-codedeploy (1.37.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-codecommit (1.46.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-codepipeline (1.37.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-codedeploy (1.44.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-configservice (1.53.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-codepipeline (1.48.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-core (3.109.1) + aws-sdk-cognitoidentity (1.31.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-cognitoidentityprovider (1.53.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-configservice (1.68.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.121.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-costandusagereportservice (1.28.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-costandusagereportservice (1.35.0) + aws-sdk-core (~> 3, >= 3.121.2) + 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.64.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-ec2 (1.272.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-ecr (1.48.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-dynamodb (1.55.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-ecrpublic (1.7.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-ec2 (1.202.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-ecs (1.87.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-ecr (1.39.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-efs (1.47.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-ecs (1.70.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-eks (1.64.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-efs (1.36.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticache (1.63.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-eks (1.45.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticbeanstalk (1.46.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-elasticache (1.44.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticloadbalancing (1.35.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-elasticbeanstalk (1.39.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-elasticloadbalancingv2 (1.71.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-elasticsearchservice (1.57.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-elasticloadbalancingv2 (1.53.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-elasticsearchservice (1.43.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-firehose (1.35.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-firehose (1.43.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-guardduty (1.42.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-iam (1.46.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-guardduty (1.49.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-kafka (1.29.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-iam (1.62.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-kinesis (1.30.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kafka (1.42.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-kms (1.39.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kinesis (1.36.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-lambda (1.51.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kms (1.50.0) + aws-sdk-core (~> 3, >= 3.121.2) 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-lambda (1.70.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-redshift (1.50.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-route53 (1.44.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-networkfirewall (1.9.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-route53domains (1.28.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-networkmanager (1.15.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-route53resolver (1.21.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-s3 (1.83.1) - 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-rds (1.129.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-redshift (1.70.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-route53 (1.56.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-route53domains (1.34.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-route53resolver (1.32.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.104.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.4) + aws-sdk-secretsmanager (1.46.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-securityhub (1.55.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + aws-sdk-servicecatalog (1.60.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-securityhub (1.35.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-ses (1.41.0) + aws-sdk-core (~> 3, >= 3.120.0) aws-sigv4 (~> 1.1) - aws-sdk-ses (1.36.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-shield (1.42.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-sms (1.27.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-sns (1.34.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.33.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-sqs (1.34.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-sns (1.46.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sdk-ssm (1.95.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-sqs (1.45.0) + aws-sdk-core (~> 3, >= 3.121.2) aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.2) + aws-sdk-ssm (1.120.0) + aws-sdk-core (~> 3, >= 3.121.2) + aws-sigv4 (~> 1.1) + 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-sigv2 (1.1.0) + aws-sigv4 (1.4.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.12.1) builder (3.2.4) - chef-config (16.6.14) + chef-config (17.6.18) addressable - chef-utils (= 16.6.14) + chef-utils (= 17.6.18) 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.6.18) + concurrent-ruby coderay (1.1.3) - concurrent-ruby (1.1.7) + concurrent-ruby (1.1.9) + cookstyle (7.25.8) + rubocop (= 1.22.2) declarative (0.0.20) - declarative-option (0.1.0) diff-lcs (1.4.4) - docker-api (2.0.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) + erubi (1.10.0) + excon (0.87.0) + 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.4) 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) builder (>= 2.1.2) - hana (1.3.6) - hashie (3.6.0) - http-cookie (1.0.3) + hashie (4.1.0) + http-cookie (1.0.4) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.8.5) + i18n (1.8.10) 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) + json (2.6.1) + jwt (2.3.0) + kitchen-inspec (2.5.0) + hashie (>= 3.4, <= 5.0) inspec (>= 2.2.64, < 5.0) - test-kitchen (>= 2.7, < 3) + test-kitchen (>= 2.7, < 4) kitchen-salt (0.6.3) 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) 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) + mini_mime (1.1.2) + minitest (5.14.4) mixlib-config (3.0.9) tomlrb - mixlib-install (3.12.3) + mixlib-install (3.12.16) mixlib-shellout mixlib-versioning thor mixlib-log (3.0.9) - mixlib-shellout (3.1.6) + mixlib-shellout (3.2.5) 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) @@ -334,52 +422,70 @@ GEM net-ssh (>= 4.0.0) nori (2.6.0) os (1.1.1) - parallel (1.19.2) + parallel (1.21.0) + parser (3.0.2.0) + ast (~> 2.4.1) parslet (1.8.2) pastel (0.8.0) tty-color (~> 0.5) - pry (0.13.1) + 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) + rainbow (3.0.0) + regexp_parser (2.1.1) + representable (3.1.1) 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.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.1) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) + rspec-support (~> 3.10.0) rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.9.1) + rspec-mocks (3.10.2) 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) + rspec-support (~> 3.10.0) + rspec-support (3.10.2) + rubocop (1.22.2) + parallel (~> 1.10) + parser (>= 3.0.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.12.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.12.0) + parser (>= 3.0.1.1) + ruby-progressbar (1.11.0) + ruby2_keywords (0.0.5) + rubyntlm (0.6.3) + rubyzip (2.3.2) semverse (3.0.0) - signet (0.14.0) - addressable (~> 2.3) + signet (0.16.0) + addressable (~> 2.8) faraday (>= 0.17.3, < 2.0) 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.1.0) 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 +497,32 @@ GEM winrm (~> 2.0) winrm-elevated (~> 1.0) winrm-fs (~> 1.1) - thor (1.0.1) - thread_safe (0.3.6) + thor (1.1.0) 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.1) + train (3.8.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.8.1) train-winrm (~> 0.2) - train-aws (0.1.18) + train-aws (0.2.22) + 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 +530,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 +553,63 @@ 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-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) + train-core (3.8.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.12) + 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 +618,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) + unicode-display_width (2.1.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,25 +634,26 @@ 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) + zeitwerk (2.5.1) PLATFORMS ruby DEPENDENCIES - inspec (~> 4.22.22) + inspec! kitchen-docker! - kitchen-inspec (>= 2.2.1) + kitchen-inspec (>= 2.5.0) kitchen-salt (>= 0.6.3) BUNDLED WITH diff --git a/docs/AUTHORS.rst b/docs/AUTHORS.rst index 2f7fccd..8b0be1e 100644 --- a/docs/AUTHORS.rst +++ b/docs/AUTHORS.rst @@ -15,10 +15,10 @@ This list is sorted by the number of commits per contributor in *descending* ord - Contributions * - :raw-html-m2r:`@myii` - `@myii `_ - - 70 + - 93 * - :raw-html-m2r:`@javierbertoli` - `@javierbertoli `_ - - 33 + - 35 * - :raw-html-m2r:`@martinhoefling` - `@martinhoefling `_ - 16 @@ -109,8 +109,8 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@waynew` - `@waynew `_ - 1 - * - :raw-html-m2r:`@babilen5` - - `@babilen5 `_ + * - :raw-html-m2r:`@babilen` + - `@babilen `_ - 1 * - :raw-html-m2r:`@moebiuseye` - `@moebiuseye `_ @@ -119,4 +119,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-07-02. +Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2021-11-18. diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 18fffb9..e3abdad 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -2,6 +2,40 @@ Changelog ========= +`3.2.0 `_ (2021-11-18) +------------------------------------------------------------------------------------------------------------- + +Code Refactoring +^^^^^^^^^^^^^^^^ + + +* **install:** adapt virtualenv package to OS (\ `5b92061 `_\ ) +* **install:** change use_package to install_method (\ `852f110 `_\ ) + +Continuous Integration +^^^^^^^^^^^^^^^^^^^^^^ + + +* **gemfile+lock:** use ``ssf`` customised ``inspec`` repo [skip ci] (\ `ab94eb5 `_\ ) +* **kitchen:** move ``provisioner`` block & update ``run_command`` [skip ci] (\ `65772ab `_\ ) +* **kitchen+ci:** update with latest ``3003.2`` pre-salted images [skip ci] (\ `5aac5bd `_\ ) +* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] (\ `68d6aab `_\ ) +* add Debian 11 Bullseye & update ``yamllint`` configuration [skip ci] (\ `46b391d `_\ ) +* standardise structure [skip ci] (\ `650f5e4 `_\ ) + +Documentation +^^^^^^^^^^^^^ + + +* **readme:** document pip installation method (\ `288140f `_\ ) + +Features +^^^^^^^^ + + +* install certbot with pip (\ `756a272 `_\ ) +* **pip:** allow plugin installation (\ `ea3b3e0 `_\ ) + `3.1.0 `_ (2021-07-02) ------------------------------------------------------------------------------------------------------------- diff --git a/docs/README.rst b/docs/README.rst index 2d77291..0edd062 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -55,15 +55,17 @@ Available states This is a shortcut for letsencrypt.install letsencrypt.config and letsencrypt.domains. -If `use_package` is `True` (the default), the formula will try to install the *certbot* package from your Distro's repo. +if `install_method` is `package` (the default), the formula will try to install the *certbot* package from your Distro's repo. Keep in mind that most distros don't have a package available by default: Ie, previous stable Debian (Stretch) requires a backports repo installed. Centos 7 requires EPEL, etc. This formula **DOES NOT** manage these repositories. Use the `apt-formula `_ or the `epel-formula `_ to manage them. -If `use_package` is `False` it installs and configures the letsencrypt cli from git, creates the requested certificates and installs renewal cron job. +If `install_method` is `git` it installs and configures the letsencrypt cli from git, creates the requested certificates and installs renewal cron job. + +If `install_method` is `pip` it installs and configures the letsencrypt cli from pip, creates the requested certificates and installs renewwal cron job. Allows plugin installation with `pip_pkgs`. ** WARNING ** -If you set `use_package` to `True`, it will: +If you set `install_method` to `package`, it will: * Delete all certbot's crons if they exist from a previous git-based installation (as the package uses a systemd's timer unit to renew all the certs) diff --git a/kitchen.yml b/kitchen.yml index 5156f81..733c609 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -6,22 +6,40 @@ 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: letsencrypt + salt_copy_filter: + - .kitchen + - .git 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-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 + run_command: /lib/systemd/systemd - name: centos-8-tiamat-py3 driver: image: saltimages/salt-tiamat-py3:centos-8 @@ -45,18 +63,26 @@ platforms: 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-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 + run_command: /lib/systemd/systemd - name: centos-8-master-py3 driver: image: saltimages/salt-master-py3:centos-8 @@ -72,7 +98,6 @@ platforms: - name: opensuse-leap-153-master-py3 driver: image: saltimages/salt-master-py3:opensuse-leap-15.3 - run_command: /usr/lib/systemd/systemd # Workaround to avoid intermittent failures on `opensuse-leap-15.3`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: @@ -80,7 +105,6 @@ platforms: - name: opensuse-leap-152-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`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: @@ -88,7 +112,6 @@ platforms: - 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: @@ -105,7 +128,6 @@ platforms: - name: arch-base-latest-master-py3 driver: image: saltimages/salt-master-py3:arch-base-latest - run_command: /usr/lib/systemd/systemd - name: gentoo-stage3-latest-master-py3 driver: image: saltimages/salt-master-py3:gentoo-stage3-latest @@ -120,290 +142,233 @@ platforms: driver: image: saltimages/salt-master-py3:rockylinux-8 - ## SALT `3003.1` - - name: debian-10-3003-1-py3 + ## SALT `3003.3` + - name: debian-11-3003-3-py3 + driver: + image: saltimages/salt-3003.3-py3:debian-11 + run_command: /lib/systemd/systemd + - name: debian-10-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:debian-10 - - name: debian-9-3003-1-py3 + image: saltimages/salt-3003.3-py3:debian-10 + run_command: /lib/systemd/systemd + - name: debian-9-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:debian-9 - - name: ubuntu-2004-3003-1-py3 + image: saltimages/salt-3003.3-py3:debian-9 + run_command: /lib/systemd/systemd + - name: ubuntu-2004-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:ubuntu-20.04 - - name: ubuntu-1804-3003-1-py3 + image: saltimages/salt-3003.3-py3:ubuntu-20.04 + run_command: /lib/systemd/systemd + - name: ubuntu-1804-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:ubuntu-18.04 - - name: centos-8-3003-1-py3 + image: saltimages/salt-3003.3-py3:ubuntu-18.04 + run_command: /lib/systemd/systemd + - name: centos-8-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:centos-8 - - name: centos-7-3003-1-py3 + image: saltimages/salt-3003.3-py3:centos-8 + - name: centos-7-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:centos-7 - - name: fedora-34-3003-1-py3 + image: saltimages/salt-3003.3-py3:centos-7 + - name: fedora-34-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:fedora-34 - - name: fedora-33-3003-1-py3 + image: saltimages/salt-3003.3-py3:fedora-34 + - name: fedora-33-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:fedora-33 - - name: opensuse-leap-153-3003-1-py3 + image: saltimages/salt-3003.3-py3:fedora-33 + - name: opensuse-leap-153-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:opensuse-leap-15.3 - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3003.3-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-leap-152-3003-1-py3 + - name: opensuse-leap-152-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:opensuse-leap-15.2 - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3003.3-py3:opensuse-leap-15.2 # 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-3003-1-py3 + - name: opensuse-tmbl-latest-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:opensuse-tumbleweed-latest - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3003.3-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-3003-1-py3 + - name: amazonlinux-2-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:amazonlinux-2 - - name: oraclelinux-8-3003-1-py3 + image: saltimages/salt-3003.3-py3:amazonlinux-2 + - name: oraclelinux-8-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:oraclelinux-8 - - name: oraclelinux-7-3003-1-py3 + image: saltimages/salt-3003.3-py3:oraclelinux-8 + - name: oraclelinux-7-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:oraclelinux-7 - - name: arch-base-latest-3003-1-py3 + image: saltimages/salt-3003.3-py3:oraclelinux-7 + - name: arch-base-latest-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:arch-base-latest - run_command: /usr/lib/systemd/systemd - - name: gentoo-stage3-latest-3003-1-py3 + image: saltimages/salt-3003.3-py3:arch-base-latest + - name: gentoo-stage3-latest-3003-3-py3 driver: - image: saltimages/salt-3003.1-py3:gentoo-stage3-latest + image: saltimages/salt-3003.3-py3:gentoo-stage3-latest run_command: /sbin/init - - name: gentoo-stage3-systemd-3003-1-py3 - driver: - image: saltimages/salt-3003.1-py3:gentoo-stage3-systemd - - ## SALT `3002.6` - - name: debian-10-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:debian-10 - - name: debian-9-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:debian-9 - - name: ubuntu-2004-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:ubuntu-20.04 - - name: ubuntu-1804-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:ubuntu-18.04 - - name: centos-8-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:centos-8 - - name: centos-7-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:centos-7 - - name: fedora-34-3002-6-py3 + - name: gentoo-stage3-systemd-3003-3-py3 driver: - image: saltimages/salt-3002.6-py3:fedora-34 - - name: fedora-33-3002-6-py3 + image: saltimages/salt-3003.3-py3:gentoo-stage3-systemd + - name: almalinux-8-3003-3-py3 driver: - image: saltimages/salt-3002.6-py3:fedora-33 - - name: amazonlinux-2-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:amazonlinux-2 - - name: oraclelinux-8-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:oraclelinux-8 - - name: oraclelinux-7-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:oraclelinux-7 - - name: arch-base-latest-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:arch-base-latest - run_command: /usr/lib/systemd/systemd - - name: gentoo-stage3-latest-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:gentoo-stage3-latest - run_command: /sbin/init - - name: gentoo-stage3-systemd-3002-6-py3 - driver: - image: saltimages/salt-3002.6-py3:gentoo-stage3-systemd + image: saltimages/salt-3003.3-py3:almalinux-8 - ## SALT `3002.2` - - name: opensuse-leap-153-3002-2-py3 + ## SALT `3002.7` + - name: debian-11-3002-7-py3 driver: - image: saltimages/salt-3002.2-py3:opensuse-leap-15.3 - run_command: /usr/lib/systemd/systemd - # 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-leap-152-3002-2-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 - 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 - - ## SALT `3001.7` - - name: debian-10-3001-7-py3 + image: saltimages/salt-3002.7-py3:debian-11 + run_command: /lib/systemd/systemd + - name: debian-10-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:debian-10 - - name: debian-9-3001-7-py3 + image: saltimages/salt-3002.7-py3:debian-10 + run_command: /lib/systemd/systemd + - name: debian-9-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:debian-9 - - name: ubuntu-2004-3001-7-py3 + image: saltimages/salt-3002.7-py3:debian-9 + run_command: /lib/systemd/systemd + - name: ubuntu-2004-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:ubuntu-20.04 - - name: ubuntu-1804-3001-7-py3 + image: saltimages/salt-3002.7-py3:ubuntu-20.04 + run_command: /lib/systemd/systemd + - name: ubuntu-1804-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:ubuntu-18.04 - - name: centos-8-3001-7-py3 + image: saltimages/salt-3002.7-py3:ubuntu-18.04 + run_command: /lib/systemd/systemd + - name: centos-8-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:centos-8 - - name: centos-7-3001-7-py3 + image: saltimages/salt-3002.7-py3:centos-8 + - name: centos-7-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:centos-7 - - name: fedora-34-3001-7-py3 + image: saltimages/salt-3002.7-py3:centos-7 + - name: fedora-34-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:fedora-34 - - name: fedora-33-3001-7-py3 + image: saltimages/salt-3002.7-py3:fedora-34 + - name: fedora-33-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:fedora-33 - - name: opensuse-leap-153-3001-7-py3 + image: saltimages/salt-3002.7-py3:fedora-33 + - name: opensuse-leap-153-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:opensuse-leap-15.3 - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3002.7-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-leap-152-3001-7-py3 + - name: opensuse-leap-152-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:opensuse-leap-15.2 - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3002.7-py3:opensuse-leap-15.2 # 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-3001-7-py3 + - name: opensuse-tmbl-latest-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:opensuse-tumbleweed-latest - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3002.7-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-7-py3 + - name: amazonlinux-2-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:amazonlinux-2 - - name: oraclelinux-8-3001-7-py3 + image: saltimages/salt-3002.7-py3:amazonlinux-2 + - name: oraclelinux-8-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:oraclelinux-8 - - name: oraclelinux-7-3001-7-py3 + image: saltimages/salt-3002.7-py3:oraclelinux-8 + - name: oraclelinux-7-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:oraclelinux-7 - - name: arch-base-latest-3001-7-py3 + image: saltimages/salt-3002.7-py3:oraclelinux-7 + - name: arch-base-latest-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:arch-base-latest - run_command: /usr/lib/systemd/systemd - - name: gentoo-stage3-latest-3001-7-py3 + image: saltimages/salt-3002.7-py3:arch-base-latest + - name: gentoo-stage3-latest-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:gentoo-stage3-latest + image: saltimages/salt-3002.7-py3:gentoo-stage3-latest run_command: /sbin/init - - name: gentoo-stage3-systemd-3001-7-py3 + - name: gentoo-stage3-systemd-3002-7-py3 driver: - image: saltimages/salt-3001.7-py3:gentoo-stage3-systemd + image: saltimages/salt-3002.7-py3:gentoo-stage3-systemd - ## SALT `3000.9` - - name: debian-10-3000-9-py3 + ## SALT `3001.8` + - name: debian-10-3001-8-py3 + driver: + image: saltimages/salt-3001.8-py3:debian-10 + run_command: /lib/systemd/systemd + - name: debian-9-3001-8-py3 + driver: + image: saltimages/salt-3001.8-py3:debian-9 + run_command: /lib/systemd/systemd + - name: ubuntu-2004-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:debian-10 - - name: debian-9-3000-9-py3 + image: saltimages/salt-3001.8-py3:ubuntu-20.04 + run_command: /lib/systemd/systemd + - name: ubuntu-1804-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:debian-9 - - name: ubuntu-1804-3000-9-py3 + image: saltimages/salt-3001.8-py3:ubuntu-18.04 + run_command: /lib/systemd/systemd + - name: centos-8-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:ubuntu-18.04 - - name: centos-8-3000-9-py3 + image: saltimages/salt-3001.8-py3:centos-8 + - name: centos-7-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:centos-8 - - name: centos-7-3000-9-py3 + image: saltimages/salt-3001.8-py3:centos-7 + - name: fedora-34-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:centos-7 - - name: opensuse-leap-153-3000-9-py3 + image: saltimages/salt-3001.8-py3:fedora-34 + - name: fedora-33-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:opensuse-leap-15.3 - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3001.8-py3:fedora-33 + - name: opensuse-leap-153-3001-8-py3 + driver: + image: saltimages/salt-3001.8-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-leap-152-3000-9-py3 + - name: opensuse-leap-152-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:opensuse-leap-15.2 - run_command: /usr/lib/systemd/systemd + image: saltimages/salt-3001.8-py3:opensuse-leap-15.2 # 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-9-py3 + - name: opensuse-tmbl-latest-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:amazonlinux-2 - - name: oraclelinux-8-3000-9-py3 + image: saltimages/salt-3001.8-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-8-py3 driver: - image: saltimages/salt-3000.9-py3:oraclelinux-8 - - name: oraclelinux-7-3000-9-py3 + image: saltimages/salt-3001.8-py3:amazonlinux-2 + - name: oraclelinux-8-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:oraclelinux-7 - - name: gentoo-stage3-latest-3000-9-py3 + image: saltimages/salt-3001.8-py3:oraclelinux-8 + - name: oraclelinux-7-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:gentoo-stage3-latest - run_command: /sbin/init - - name: gentoo-stage3-systemd-3000-9-py3 + image: saltimages/salt-3001.8-py3:oraclelinux-7 + - name: arch-base-latest-3001-8-py3 driver: - image: saltimages/salt-3000.9-py3:gentoo-stage3-systemd - - name: ubuntu-1804-3000-9-py2 + image: saltimages/salt-3001.8-py3:arch-base-latest + - name: gentoo-stage3-latest-3001-8-py3 driver: - image: saltimages/salt-3000.9-py2:ubuntu-18.04 - - name: arch-base-latest-3000-9-py2 + image: saltimages/salt-3001.8-py3:gentoo-stage3-latest + run_command: /sbin/init + - name: gentoo-stage3-systemd-3001-8-py3 driver: - image: saltimages/salt-3000.9-py2:arch-base-latest - run_command: /usr/lib/systemd/systemd - -provisioner: - name: salt_solo - log_level: debug - salt_install: none - require_chef: false - formula: letsencrypt - salt_copy_filter: - - .kitchen - - .git + image: saltimages/salt-3001.8-py3:gentoo-stage3-systemd 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: @@ -425,20 +390,40 @@ suites: verifier: inspec_tests: - path: test/integration/git + - name: pip + provisioner: + state_top: + base: + '*': + - letsencrypt._mapdata + - letsencrypt.install + - letsencrypt.config + pillars: + top.sls: + base: + '*': + - letsencrypt + pillars_from_files: + letsencrypt.sls: test/salt/pillar/pip.sls + verifier: + inspec_tests: + - path: test/integration/pip - name: deb includes: + - debian-11-tiamat-py3 - debian-10-tiamat-py3 - debian-9-tiamat-py3 + - debian-11-master-py3 - debian-10-master-py3 - debian-9-master-py3 - - debian-10-3003-1-py3 - - debian-9-3003-1-py3 - - debian-10-3002-6-py3 - - debian-9-3002-6-py3 - - debian-10-3001-7-py3 - - debian-9-3001-7-py3 - - debian-10-3000-9-py3 - - debian-9-3000-9-py3 + - debian-11-3003-3-py3 + - debian-10-3003-3-py3 + - debian-9-3003-3-py3 + - debian-11-3002-7-py3 + - debian-10-3002-7-py3 + - debian-9-3002-7-py3 + - debian-10-3001-8-py3 + - debian-9-3001-8-py3 provisioner: dependencies: - name: apt @@ -483,32 +468,28 @@ suites: - oraclelinux-7-master-py3 - almalinux-8-master-py3 - rockylinux-8-master-py3 - - centos-8-3003-1-py3 - - centos-7-3003-1-py3 - - fedora-34-3003-1-py3 - - fedora-33-3003-1-py3 - - amazonlinux-2-3003-1-py3 - - oraclelinux-8-3003-1-py3 - - oraclelinux-7-3003-1-py3 - - centos-8-3002-6-py3 - - centos-7-3002-6-py3 - - fedora-34-3002-6-py3 - - fedora-33-3002-6-py3 - - amazonlinux-2-3002-6-py3 - - oraclelinux-8-3002-6-py3 - - oraclelinux-7-3002-6-py3 - - centos-8-3001-7-py3 - - centos-7-3001-7-py3 - - fedora-34-3001-7-py3 - - fedora-33-3001-7-py3 - - amazonlinux-2-3001-7-py3 - - oraclelinux-8-3001-7-py3 - - oraclelinux-7-3001-7-py3 - - centos-8-3000-9-py3 - - centos-7-3000-9-py3 - - amazonlinux-2-3000-9-py3 - - oraclelinux-8-3000-9-py3 - - oraclelinux-7-3000-9-py3 + - centos-8-3003-3-py3 + - centos-7-3003-3-py3 + - fedora-34-3003-3-py3 + - fedora-33-3003-3-py3 + - amazonlinux-2-3003-3-py3 + - oraclelinux-8-3003-3-py3 + - oraclelinux-7-3003-3-py3 + - almalinux-8-3003-3-py3 + - centos-8-3002-7-py3 + - centos-7-3002-7-py3 + - fedora-34-3002-7-py3 + - fedora-33-3002-7-py3 + - amazonlinux-2-3002-7-py3 + - oraclelinux-8-3002-7-py3 + - oraclelinux-7-3002-7-py3 + - centos-8-3001-8-py3 + - centos-7-3001-8-py3 + - fedora-34-3001-8-py3 + - fedora-33-3001-8-py3 + - amazonlinux-2-3001-8-py3 + - oraclelinux-8-3001-8-py3 + - oraclelinux-7-3001-8-py3 provisioner: state_top: base: @@ -528,12 +509,32 @@ suites: - path: test/integration/rpm - name: domains includes: - - debian-10-3003-1-py3 + - debian-11-tiamat-py3 + - debian-10-tiamat-py3 + - debian-9-tiamat-py3 + - ubuntu-2004-tiamat-py3 + - ubuntu-1804-tiamat-py3 + - debian-11-master-py3 + - debian-10-master-py3 + - debian-9-master-py3 + - ubuntu-2004-master-py3 + - ubuntu-1804-master-py3 + - debian-11-3003-3-py3 + - debian-10-3003-3-py3 + - debian-9-3003-3-py3 + - ubuntu-2004-3003-3-py3 + - ubuntu-1804-3003-3-py3 + - debian-11-3002-7-py3 + - debian-10-3002-7-py3 + - debian-9-3002-7-py3 + - ubuntu-2004-3002-7-py3 + - ubuntu-1804-3002-7-py3 + - debian-10-3001-8-py3 + - debian-9-3001-8-py3 + - ubuntu-2004-3001-8-py3 + - ubuntu-1804-3001-8-py3 provisioner: dependencies: - - name: apt - repo: git - source: https://github.com/saltstack-formulas/apt-formula.git - name: states path: ./test/salt state_top: diff --git a/letsencrypt/defaults.yaml b/letsencrypt/defaults.yaml index 6fe7e68..e2642b8 100644 --- a/letsencrypt/defaults.yaml +++ b/letsencrypt/defaults.yaml @@ -2,25 +2,30 @@ # vim: ft=yaml --- letsencrypt: - use_package: true + install_method: package pkgs: [] git_pkg: git service: certbot.timer - # Only used for the pkg install method (use_package: true), internal var + # Only used for the pkg install method (install_method = package), internal var _cli_path: /usr/bin/certbot - # Only used for the pkg install method (use_package: true), internal var + # Only used for the pkg install method (install_method = package), internal var _default_pkg: certbot - # Only used for the git install method (use_package: false) + # Only used for the git or pip install methods (install_method = (git|pip)) cli_install_dir: /opt/letsencrypt - # Only used for the git install method (use_package: false). If you want to - # have specific version of certbot you can enable it. The version value - # should match a certbot/certbot branch - # version: 0.30.x + # Only used for the git or pip install methods (install_method = (git|pip)). + # If you want to have specific version of certbot you can enable it. The + # version value should match a certbot/certbot branch version: 0.30.x config_dir: path: /etc/letsencrypt user: root group: root mode: 755 + # Only used for the pip install method (install_method = pip). Can be used to + # install plugins for certbot. + pip_pkgs: [] + # Only used for the pip install method (install_method = pip), internal var + virtualenv_pkg: + - python3-virtualenv config: server: https://acme-v02.api.letsencrypt.org/directory agree-tos: true diff --git a/letsencrypt/domains.sls b/letsencrypt/domains.sls index 50c55e2..2e552c7 100644 --- a/letsencrypt/domains.sls +++ b/letsencrypt/domains.sls @@ -3,7 +3,7 @@ {% from "letsencrypt/map.jinja" import letsencrypt with context %} -{% if letsencrypt.use_package %} +{% if letsencrypt.install_method == 'package' %} {% set check_cert_cmd = letsencrypt._cli_path ~ ' certificates --cert-name' %} {% set renew_cert_cmd = letsencrypt._cli_path ~ ' renew' %} {% set create_cert_cmd = letsencrypt._cli_path %} @@ -15,7 +15,11 @@ {% else %} {% set check_cert_cmd = '/usr/local/bin/check_letsencrypt_cert.sh' %} {% set renew_cert_cmd = '/usr/local/bin/renew_letsencrypt_cert.sh' %} - {% set create_cert_cmd = letsencrypt.cli_install_dir ~ '/letsencrypt-auto' %} + {% if letsencrypt.install_method == 'pip' %} + {% set create_cert_cmd = letsencrypt.cli_install_dir ~ '/bin/certbot' %} + {% else %} + {% set create_cert_cmd = letsencrypt.cli_install_dir ~ '/letsencrypt-auto' %} + {% endif %} {% set old_check_cert_cmd_state = 'managed' %} {% set old_renew_cert_cmd_state = 'managed' %} @@ -63,11 +67,11 @@ create-initial-cert-{{ setname }}-{{ domainlist | join('+') }}: {{ installer }} \ --cert-name {{ setname }} \ -d {{ domainlist|join(' -d ') }} - {% if not letsencrypt.use_package %} + {% if letsencrypt.install_method != 'package' %} - cwd: {{ letsencrypt.cli_install_dir }} {% endif %} - unless: - {% if letsencrypt.use_package %} + {% if letsencrypt.install_method == 'package' %} - fun: cmd.run python_shell: true cmd: | @@ -78,7 +82,7 @@ create-initial-cert-{{ setname }}-{{ domainlist | join('+') }}: - {{ check_cert_cmd }} {{ setname }} {{ domainlist | join(' ') }} {% endif %} - require: - {% if letsencrypt.use_package %} + {% if letsencrypt.install_method == 'package' %} - pkg: letsencrypt-client {% else %} - file: {{ check_cert_cmd }} @@ -95,7 +99,7 @@ letsencrypt-crontab-{{ setname }}-{{ domainlist[0] }}: - identifier: letsencrypt-{{ setname }}-{{ domainlist[0] }} - require: - cmd: create-initial-cert-{{ setname }}-{{ domainlist | join('+') }} - {% if letsencrypt.use_package %} + {% if letsencrypt.install_method == 'package' %} - pkg: letsencrypt-client {% else %} - file: {{ renew_cert_cmd }} diff --git a/letsencrypt/files/renew_letsencrypt_cert.sh.jinja b/letsencrypt/files/renew_letsencrypt_cert.sh.jinja index 832237f..34429df 100644 --- a/letsencrypt/files/renew_letsencrypt_cert.sh.jinja +++ b/letsencrypt/files/renew_letsencrypt_cert.sh.jinja @@ -2,7 +2,11 @@ {% from "letsencrypt/map.jinja" import letsencrypt with context %} COMMON_NAME="$1" +{% if letsencrypt.install_method == 'pip' %} +{{ letsencrypt.cli_install_dir }}/bin/certbot renew --non-interactive || exit 1 +{% else %} {{ letsencrypt.cli_install_dir }}/letsencrypt-auto renew --non-interactive || exit 1 +{% endif %} cat {{ letsencrypt.config_dir.path }}/live/${COMMON_NAME}/fullchain.pem \ {{ letsencrypt.config_dir.path }}/live/${COMMON_NAME}/privkey.pem \ > {{ letsencrypt.config_dir.path }}/live/${COMMON_NAME}/fullchain-privkey.pem || exit 1 diff --git a/letsencrypt/install.sls b/letsencrypt/install.sls index bacad1b..5d7ec9e 100644 --- a/letsencrypt/install.sls +++ b/letsencrypt/install.sls @@ -3,7 +3,7 @@ {%- from "letsencrypt/map.jinja" import letsencrypt with context %} {#- Use empty default for `grains.osfinger`, which isn't available in all distros #} -{%- if letsencrypt.use_package and +{%- if letsencrypt.install_method == 'package' and grains.osfinger|d('') == 'Amazon Linux-2' %} {%- set rhel_ver = '7' %} letsencrypt_external_repo: @@ -20,11 +20,11 @@ letsencrypt_external_repo: {%- endif %} letsencrypt-client: - {%- if letsencrypt.use_package %} + {%- if letsencrypt.install_method == 'package' %} {%- set pkgs = letsencrypt.pkgs or [letsencrypt._default_pkg] %} pkg.installed: - pkgs: {{ pkgs | json }} - {%- else %} + {%- elif letsencrypt.install_method == 'git' %} pkg.installed: - name: {{ letsencrypt.git_pkg }} {%- if letsencrypt.version is defined and letsencrypt.version|length %} @@ -38,5 +38,20 @@ letsencrypt-client: - target: {{ letsencrypt.cli_install_dir }} - force_reset: True {%- endif %} + {%- elif letsencrypt.install_method == 'pip' %} + pkg.installed: + - pkgs: {{ letsencrypt.virtualenv_pkg | json }} + virtualenv.managed: + - name: {{ letsencrypt.cli_install_dir }} + - python: python3 + - pip_pkgs: + {%- if letsencrypt.version is defined and letsencrypt.version|length %} + - certbot=={{ letsencrypt.version }} + {%- else %} + - certbot + {%- endif %} + {%- for pkg in letsencrypt.pip_pkgs %} + - {{ pkg }} + {%- endfor %} {%- endif %} - reload_modules: True diff --git a/letsencrypt/map.jinja b/letsencrypt/map.jinja index 5e6d24e..c2573ec 100644 --- a/letsencrypt/map.jinja +++ b/letsencrypt/map.jinja @@ -24,3 +24,12 @@ ), base='letsencrypt') %} + +{# Make backwards compatible with use_package #} +{% if letsencrypt.use_package is defined %} + {% if letsencrypt.use_package %} + {{ letsencrypt | set_dict_key_value('install_method', 'package') }} + {% else %} + {{ letsencrypt | set_dict_key_value('install_method', 'git') }} + {% endif %} +{% endif %} diff --git a/letsencrypt/osfamilymap.yaml b/letsencrypt/osfamilymap.yaml index 5222e90..3c1ede8 100644 --- a/letsencrypt/osfamilymap.yaml +++ b/letsencrypt/osfamilymap.yaml @@ -4,7 +4,15 @@ RedHat: service: certbot-renew.timer FreeBSD: - # Only used for the pkg install method (use_package: true), internal var + # Only used for the pkg install method (install_method: package), internal var _cli_path: /usr/local/bin/certbot Gentoo: git_pkg: dev-vcs/git + virtualenv_pkg: + - dev-python/virtualenv +Debian: + virtualenv_pkg: + - virtualenv +Arch: + virtualenv_pkg: + - python-virtualenv diff --git a/letsencrypt/service.sls b/letsencrypt/service.sls index be30a46..2ae7f38 100644 --- a/letsencrypt/service.sls +++ b/letsencrypt/service.sls @@ -3,7 +3,7 @@ {% from "letsencrypt/map.jinja" import letsencrypt with context %} -{% if letsencrypt.use_package %} +{% if letsencrypt.install_method == 'package' %} letsencrypt-service-timer: service.running: - name: {{ letsencrypt.service }} diff --git a/pillar.example b/pillar.example index 72460f9..b3a9e3d 100644 --- a/pillar.example +++ b/pillar.example @@ -2,8 +2,8 @@ # vim: ft=yaml --- letsencrypt: - # Install using packages instead of git - use_package: true + # Install using package, git or pip + install_method: package # A list of package/s to install. To find the correct name for the variant # you want to use, check https://certbot.eff.org/all-instructions # Usually, you'll need a single one, but you can also add other plugins here. @@ -13,12 +13,17 @@ letsencrypt: - python3-certbot-apache # - python3-certbot-nginx # - python3-dns-route53 - # Only used for the git install method (use_package: false) + # Only used for the git or pip install methods (install_method = (git|pip)) cli_install_dir: /opt/letsencrypt - # Only used for the git install method (use_package: false). If you want to - # have specific version of certbot you can enable it. The version value - # should match a certbot/certbot branch. + # Only used for the git or pip install methods (install_method = git|pip)). + # If you want to have specific version of certbot you can enable it. The + # version value should match a certbot/certbot branch. version: 0.30.x + # Only used for the pip install method (install_method = pip). Can be used to + # install plugins for certbot. Default: [] + pip_pkgs: + - certbot-dns-azure + - certbot-dns-powerdns # Subcommand used for certificates' first generation cmd ( run | certonly | renew ) create_init_cert_subcmd: certonly # Any parameter from the cli can be specified in the config file diff --git a/test/integration/domains/inspec.yml b/test/integration/domains/inspec.yml index f566fab..474880f 100644 --- a/test/integration/domains/inspec.yml +++ b/test/integration/domains/inspec.yml @@ -5,7 +5,7 @@ name: domains title: letsencrypt formula maintainer: SaltStack Formulas license: Apache-2.0 -summary: Verify that certificates can be requested/issued correctly +summary: Verify that certificates can be requested/issued correctly on Debian depends: - name: share path: test/integration/share diff --git a/test/integration/pip/README.md b/test/integration/pip/README.md new file mode 100644 index 0000000..282a4c8 --- /dev/null +++ b/test/integration/pip/README.md @@ -0,0 +1,50 @@ +# InSpec Profile: `git` + +This shows the implementation of the `pip` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). + +## Verify a profile + +InSpec ships with built-in features to verify a profile structure. + +```bash +$ inspec check git +Summary +------- +Location: git +Profile: profile +Controls: 4 +Timestamp: 2019-06-24T23:09:01+00:00 +Valid: true + +Errors +------ + +Warnings +-------- +``` + +## Execute a profile + +To run all **supported** controls on a local machine use `inspec exec /path/to/profile`. + +```bash +$ inspec exec git +.. + +Finished in 0.0025 seconds (files took 0.12449 seconds to load) +8 examples, 0 failures +``` + +## Execute a specific control from a profile + +To run one control from the profile use `inspec exec /path/to/profile --controls name`. + +```bash +$ inspec exec git --controls package +. + +Finished in 0.0025 seconds (files took 0.12449 seconds to load) +1 examples, 0 failures +``` + +See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb). diff --git a/test/integration/pip/controls/letsencrypt_spec.rb b/test/integration/pip/controls/letsencrypt_spec.rb new file mode 100644 index 0000000..47db24f --- /dev/null +++ b/test/integration/pip/controls/letsencrypt_spec.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +describe file('/opt/letsencrypt') do + it { should be_directory } + it { should be_owned_by 'root' } + it { should be_grouped_into 'root' } + it { should be_readable } + its('size') { should be > 25 } +end + +describe file('/etc/letsencrypt/cli.ini') do + it { should be_file } + it { should be_owned_by 'root' } + it { should be_grouped_into 'root' } + it { should be_readable } + its('size') { should be > 1 } + its('content') do + should match 'server = https://acme-staging.api.letsencrypt.org/directory' + end + its('content') { should match 'authenticator = standalone' } + its('content') { should match 'File managed by Salt' } +end + +describe command('/opt/letsencrypt/bin/certbot plugins') do + its('stdout') { should match(/dns-powerdns/) } +end diff --git a/test/integration/pip/inspec.yml b/test/integration/pip/inspec.yml new file mode 100644 index 0000000..11f6cfc --- /dev/null +++ b/test/integration/pip/inspec.yml @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +--- +name: pip +title: letsencrypt formula +maintainer: SaltStack Formulas +license: Apache-2.0 +# yamllint disable-line rule:line-length +summary: Verify that the letsencrypt formula is setup and configured correctly using `pip` +depends: + - name: share + path: test/integration/share +supports: + - platform-name: debian + - platform-name: ubuntu + - platform-name: centos + - platform-name: fedora + - 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: windows diff --git a/test/integration/share/libraries/system.rb b/test/integration/share/libraries/system.rb index 87daf08..af65449 100644 --- a/test/integration/share/libraries/system.rb +++ b/test/integration/share/libraries/system.rb @@ -49,7 +49,7 @@ 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' diff --git a/test/salt/pillar/deb.sls b/test/salt/pillar/deb.sls index eeb2215..19e4416 100644 --- a/test/salt/pillar/deb.sls +++ b/test/salt/pillar/deb.sls @@ -2,7 +2,7 @@ # vim: ft=yaml --- letsencrypt: - use_package: true + install_method: package config: | server = https://acme-staging.api.letsencrypt.org/directory email = saltstack-letsencrypt-formula@example.com diff --git a/test/salt/pillar/git.sls b/test/salt/pillar/git.sls index b4e7a8d..d1a6c29 100644 --- a/test/salt/pillar/git.sls +++ b/test/salt/pillar/git.sls @@ -2,7 +2,7 @@ # vim: ft=yaml --- letsencrypt: - use_package: false + install_method: git version: 0.26.x config: | server = https://acme-staging.api.letsencrypt.org/directory diff --git a/test/salt/pillar/pip.sls b/test/salt/pillar/pip.sls new file mode 100644 index 0000000..da4f551 --- /dev/null +++ b/test/salt/pillar/pip.sls @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +--- +letsencrypt: + install_method: pip + version: 1.7.0 + pip_pkgs: + - certbot-dns-powerdns + config: | + server = https://acme-staging.api.letsencrypt.org/directory + email = saltstack-letsencrypt-formula@example.com + authenticator = standalone + agree-tos = True + renew-by-default = True + domainsets: + www: + - letsencrypt-formula.example.com diff --git a/test/salt/pillar/rpm.sls b/test/salt/pillar/rpm.sls index 5865b85..bb1cd91 100644 --- a/test/salt/pillar/rpm.sls +++ b/test/salt/pillar/rpm.sls @@ -2,7 +2,7 @@ # vim: ft=yaml --- letsencrypt: - use_package: true + install_method: package config: server: https://acme-staging.api.letsencrypt.org/directory email: saltstack-letsencrypt-formula@example.com