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](https://github.com/myii)|70
-
|[@javierbertoli](https://github.com/javierbertoli)|33
+
|[@myii](https://github.com/myii)|93
+
|[@javierbertoli](https://github.com/javierbertoli)|35
|[@martinhoefling](https://github.com/martinhoefling)|16
|[@fortunejuggle](https://github.com/fortunejuggle)|13
|[@aboe76](https://github.com/aboe76)|11
@@ -36,9 +36,9 @@ Avatar|Contributor|Contributions
|[@kislik](https://github.com/kislik)|1
|[@noelmcloughlin](https://github.com/noelmcloughlin)|1
|[@waynew](https://github.com/waynew)|1
-
|[@babilen5](https://github.com/babilen5)|1
+
|[@babilen](https://github.com/babilen)|1
|[@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 `_
- - 70
+ - 93
* - :raw-html-m2r:`
`
- `@javierbertoli `_
- - 33
+ - 35
* - :raw-html-m2r:`
`
- `@martinhoefling `_
- 16
@@ -109,8 +109,8 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:`
`
- `@waynew `_
- 1
- * - :raw-html-m2r:`
`
- - `@babilen5 `_
+ * - :raw-html-m2r:`
`
+ - `@babilen `_
- 1
* - :raw-html-m2r:`
`
- `@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