diff --git a/data/Debian/10.yaml b/data/Debian/10.yaml deleted file mode 100644 index 107282a..0000000 --- a/data/Debian/10.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -letsencrypt::package_name: 'certbot' -letsencrypt::package_command: 'certbot' -letsencrypt::configure_epel: false diff --git a/data/Debian/18.04.yaml b/data/Debian/18.04.yaml deleted file mode 100644 index 107282a..0000000 --- a/data/Debian/18.04.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -letsencrypt::package_name: 'certbot' -letsencrypt::package_command: 'certbot' -letsencrypt::configure_epel: false diff --git a/data/FreeBSD.yaml b/data/FreeBSD-family.yaml similarity index 79% rename from data/FreeBSD.yaml rename to data/FreeBSD-family.yaml index baa55b0..5e7cf81 100644 --- a/data/FreeBSD.yaml +++ b/data/FreeBSD-family.yaml @@ -1,5 +1,4 @@ --- letsencrypt::package_name: 'py27-certbot' letsencrypt::config_dir: '/usr/local/etc/letsencrypt' letsencrypt::cron_owner_group: 'wheel' -letsencrypt::configure_epel: false diff --git a/data/OpenBSD.yaml b/data/OpenBSD-family.yaml similarity index 55% rename from data/OpenBSD.yaml rename to data/OpenBSD-family.yaml index f0dab5c..be70859 100644 --- a/data/OpenBSD.yaml +++ b/data/OpenBSD-family.yaml @@ -1,3 +1,2 @@ --- letsencrypt::cron_owner_group: 'wheel' -letsencrypt::configure_epel: false diff --git a/data/RedHat.yaml b/data/RedHat-family.yaml similarity index 100% rename from data/RedHat.yaml rename to data/RedHat-family.yaml diff --git a/data/Debian/16.04.yaml b/data/common.yaml similarity index 100% rename from data/Debian/16.04.yaml rename to data/common.yaml diff --git a/data/Debian.yaml b/data/os/Debian/10.yaml similarity index 70% copy from data/Debian.yaml copy to data/os/Debian/10.yaml index b2bc628..cd92a13 100644 --- a/data/Debian.yaml +++ b/data/os/Debian/10.yaml @@ -1,3 +1,2 @@ --- -letsencrypt::configure_epel: false letsencrypt::plugin::dns_rfc2136::package_name: 'python3-certbot-dns-rfc2136' diff --git a/data/RedHat/29.yaml b/data/os/Fedora/29.yaml similarity index 100% rename from data/RedHat/29.yaml rename to data/os/Fedora/29.yaml diff --git a/data/RedHat/30.yaml b/data/os/Fedora/30.yaml similarity index 100% rename from data/RedHat/30.yaml rename to data/os/Fedora/30.yaml diff --git a/data/Debian.yaml b/data/os/Ubuntu/18.04.yaml similarity index 70% rename from data/Debian.yaml rename to data/os/Ubuntu/18.04.yaml index b2bc628..cd92a13 100644 --- a/data/Debian.yaml +++ b/data/os/Ubuntu/18.04.yaml @@ -1,3 +1,2 @@ --- -letsencrypt::configure_epel: false letsencrypt::plugin::dns_rfc2136::package_name: 'python3-certbot-dns-rfc2136' diff --git a/hiera.yaml b/hiera.yaml index d1bdc64..8f3b44b 100644 --- a/hiera.yaml +++ b/hiera.yaml @@ -1,16 +1,16 @@ --- version: 5 defaults: datadir: 'data' data_hash: 'yaml_data' hierarchy: - name: 'Operating System Major Release' - path: '%{facts.os.family}/%{facts.os.release.major}.yaml' + path: 'os/%{facts.os.name}/%{facts.os.release.major}.yaml' - name: 'Operating System Family' - path: '%{facts.os.family}.yaml' + path: '%{facts.os.family}-family.yaml' - name: 'common' path: 'common.yaml' diff --git a/spec/classes/plugin/dns_rfc2136_spec.rb b/spec/classes/plugin/dns_rfc2136_spec.rb index bea4d75..a1a3b27 100644 --- a/spec/classes/plugin/dns_rfc2136_spec.rb +++ b/spec/classes/plugin/dns_rfc2136_spec.rb @@ -1,73 +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 - case facts[:osfamily] - when 'Debian' + osname = facts[:os]['name'] + osrelease = facts[:os]['release']['major'] + osfull = "#{osname}-#{osrelease}" + case osfull + when 'Debian-10', 'Ubuntu-18.04', 'Fedora-29', 'Fedora-30' 'python3-certbot-dns-rfc2136' - when 'RedHat' - facts[:operatingsystem] == 'Fedora' ? 'python3-certbot-dns-rfc2136' : 'python2-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