diff --git a/data/RedHat-family.yaml b/data/RedHat-family.yaml index 404b411..59fca34 100644 --- a/data/RedHat-family.yaml +++ b/data/RedHat-family.yaml @@ -1,4 +1,4 @@ --- letsencrypt::configure_epel: true -letsencrypt::plugin::dns_rfc2136::package_name: 'python2-certbot-dns-rfc2136' -letsencrypt::plugin::dns_route53::package_name: 'python2-certbot-dns-route53' +letsencrypt::plugin::dns_rfc2136::package_name: 'python3-certbot-dns-rfc2136' +letsencrypt::plugin::dns_route53::package_name: 'python3-certbot-dns-route53' diff --git a/data/RedHat-family.yaml b/data/os/CentOS/7.yaml similarity index 82% copy from data/RedHat-family.yaml copy to data/os/CentOS/7.yaml index 404b411..e18cad3 100644 --- a/data/RedHat-family.yaml +++ b/data/os/CentOS/7.yaml @@ -1,4 +1,3 @@ --- -letsencrypt::configure_epel: true letsencrypt::plugin::dns_rfc2136::package_name: 'python2-certbot-dns-rfc2136' letsencrypt::plugin::dns_route53::package_name: 'python2-certbot-dns-route53' diff --git a/data/RedHat-family.yaml b/data/os/RedHat/7.yaml similarity index 82% copy from data/RedHat-family.yaml copy to data/os/RedHat/7.yaml index 404b411..e18cad3 100644 --- a/data/RedHat-family.yaml +++ b/data/os/RedHat/7.yaml @@ -1,4 +1,3 @@ --- -letsencrypt::configure_epel: true letsencrypt::plugin::dns_rfc2136::package_name: 'python2-certbot-dns-rfc2136' letsencrypt::plugin::dns_route53::package_name: 'python2-certbot-dns-route53' diff --git a/metadata.json b/metadata.json index 4128533..30deb9f 100644 --- a/metadata.json +++ b/metadata.json @@ -1,83 +1,90 @@ { "name": "puppet-letsencrypt", "version": "6.0.1-rc0", "author": "Vox Pupuli", "summary": "Manages lets-encrypt and certbot + related certs", "license": "Apache-2.0", "source": "https://github.com/voxpupuli/puppet-letsencrypt", "project_page": "https://github.com/voxpupuli/puppet-letsencrypt", "issues_url": "https://github.com/voxpupuli/puppet-letsencrypt/issues", "tags": [ "letsencrypt", "let's encrypt", "certbot", "acme" ], "operatingsystem_support": [ + { + "operatingsystem": "AlmaLinux", + "operatingsystemrelease": [ + "8" + ] + }, { "operatingsystem": "CentOS", "operatingsystemrelease": [ "7" ] }, { "operatingsystem": "RedHat", "operatingsystemrelease": [ - "7" + "7", + "8" ] }, { "operatingsystem": "Fedora", "operatingsystemrelease": [ "32" ] }, { "operatingsystem": "Ubuntu", "operatingsystemrelease": [ "18.04", "20.04" ] }, { "operatingsystem": "Debian", "operatingsystemrelease": [ "10", "11" ] }, { "operatingsystem": "OpenBSD", "operatingsystemrelease": [ "6.2" ] }, { "operatingsystem": "FreeBSD", "operatingsystemrelease": [ "12", "13" ] } ], "requirements": [ { "name": "puppet", "version_requirement": ">= 6.1.0 < 8.0.0" } ], "dependencies": [ { "name": "puppetlabs/stdlib", "version_requirement": ">= 4.13.1 < 9.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">= 2.0.0 < 6.0.0" }, { "name": "puppet/epel", "version_requirement": ">= 3.0.1 < 4.0.0" } ] } diff --git a/spec/classes/plugin/dns_rfc2136_spec.rb b/spec/classes/plugin/dns_rfc2136_spec.rb index 28885ee..dc2b930 100644 --- a/spec/classes/plugin/dns_rfc2136_spec.rb +++ b/spec/classes/plugin/dns_rfc2136_spec.rb @@ -1,76 +1,76 @@ require 'spec_helper' describe 'letsencrypt::plugin::dns_rfc2136' do on_supported_os.each do |os, facts| context "on #{os} based operating systems" do let(:facts) { facts } let(:params) { {} } let(:pre_condition) do <<-PUPPET class { 'letsencrypt': email => 'foo@example.com', } PUPPET end let(:package_name) do osname = facts[:os]['name'] osrelease = facts[:os]['release']['major'] osfull = "#{osname}-#{osrelease}" case osfull - when 'Debian-10', 'Debian-11', 'Ubuntu-20.04', 'Ubuntu-18.04', 'Fedora-30', 'Fedora-31' + when 'Debian-10', 'Debian-11', 'AlmaLinux-8', 'RedHat-8', 'Ubuntu-20.04', 'Ubuntu-18.04', 'Fedora-30', 'Fedora-31' 'python3-certbot-dns-rfc2136' when 'RedHat-7', 'CentOS-7' 'python2-certbot-dns-rfc2136' end end context 'without required parameters' do it { is_expected.not_to compile } end context 'with required parameters' do let(:params) do super().merge( server: '192.0.2.1', key_name: 'certbot', key_secret: 'secret' ) end it do if package_name.nil? is_expected.not_to compile else is_expected.to compile.with_all_deps is_expected.to contain_file('/etc/letsencrypt/dns-rfc2136.ini'). with_ensure('file'). with_owner('root'). with_group('root'). with_mode('0400'). with_content(%r{^.*dns_rfc2136_server.*$}) end end describe 'with manage_package => true' do let(:params) { super().merge(manage_package: true) } it do if package_name.nil? is_expected.not_to compile else is_expected.to contain_class('letsencrypt::plugin::dns_rfc2136').with_package_name(package_name) is_expected.to contain_package(package_name).with_ensure('installed') end end end describe 'with manage_package => false' do let(:params) { super().merge(manage_package: false, package_name: 'dns-rfc2136-package') } it { is_expected.not_to contain_package('dns-rfc2136-package') } end end end end end diff --git a/spec/classes/plugin/dns_route53_spec.rb b/spec/classes/plugin/dns_route53_spec.rb index ec88d5d..91b77f9 100644 --- a/spec/classes/plugin/dns_route53_spec.rb +++ b/spec/classes/plugin/dns_route53_spec.rb @@ -1,57 +1,57 @@ require 'spec_helper' describe 'letsencrypt::plugin::dns_route53' do on_supported_os.each do |os, facts| context "on #{os} based operating systems" do let(:facts) { facts } let(:params) { {} } let(:pre_condition) do <<-PUPPET class { 'letsencrypt': email => 'foo@example.com', } PUPPET end let(:package_name) do osname = facts[:os]['name'] osrelease = facts[:os]['release']['major'] osfull = "#{osname}-#{osrelease}" case osfull - when 'Debian-10', 'Debian-11', 'Ubuntu-20.04', 'Ubuntu-18.04', 'Fedora-30', 'Fedora-31' + when 'Debian-10', 'Debian-11', 'AlmaLinux-8', 'RedHat-8', 'Ubuntu-20.04', 'Ubuntu-18.04', 'Fedora-30', 'Fedora-31' 'python3-certbot-dns-route53' when 'RedHat-7', 'CentOS-7' 'python2-certbot-dns-route53' end end context 'with required parameters' do it do if package_name.nil? is_expected.not_to compile else is_expected.to compile.with_all_deps end end describe 'with manage_package => true' do let(:params) { super().merge(manage_package: true) } it do if package_name.nil? is_expected.not_to compile else is_expected.to contain_class('letsencrypt::plugin::dns_route53').with_package_name(package_name) is_expected.to contain_package(package_name).with_ensure('installed') end end end describe 'with manage_package => false' do let(:params) { super().merge(manage_package: false, package_name: 'dns-route53-package') } it { is_expected.not_to contain_package('dns-route53-package') } end end end end end