Skip to content

Commit

Permalink
Merge pull request #351 from voxpupuli/modulesync
Browse files Browse the repository at this point in the history
modulesync 9.1.0
  • Loading branch information
bastelfreak authored Sep 9, 2024
2 parents 27913b7 + 7cc60b8 commit 8218d05
Show file tree
Hide file tree
Showing 15 changed files with 108 additions and 23 deletions.
12 changes: 10 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,15 +245,23 @@ with:
BEAKER_PUPPET_COLLECTION=puppet7 BEAKER_setfile=debian11-64 bundle exec rake beaker
```

or

```sh
BEAKER_PUPPET_COLLECTION=none BEAKER_setfile=archlinux-64 bundle exec rake beaker
```

This latter example will use the distribution's own version of Puppet.

You can replace the string `debian11` with any common operating system.
The following strings are known to work:

* ubuntu2004
* ubuntu2204
* debian11
* centos7
* centos8
* debian12
* centos9
* archlinux
* almalinux8
* almalinux9
* fedora36
Expand Down
3 changes: 3 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
---
# Managed by modulesync - DO NOT EDIT
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/

skip-changelog:
- head-branch: ['^release-*', 'release']
42 changes: 42 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
# Managed by modulesync - DO NOT EDIT
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/

# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes

changelog:
exclude:
labels:
- duplicate
- invalid
- modulesync
- question
- skip-changelog
- wont-fix
- wontfix

categories:
- title: Breaking Changes 🛠
labels:
- backwards-incompatible

- title: New Features 🎉
labels:
- enhancement

- title: Bug Fixes 🐛
labels:
- bug

- title: Documentation Updates 📚
labels:
- documentation
- docs

- title: Dependency Updates ⬆️
labels:
- dependencies

- title: Other Changes
labels:
- "*"
17 changes: 17 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
# Managed by modulesync - DO NOT EDIT
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/

name: "Pull Request Labeler"

on:
pull_request_target: {}

jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
7 changes: 7 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,10 @@ jobs:
# https://docs.github.com/en/actions/security-guides/encrypted-secrets
username: ${{ secrets.PUPPET_FORGE_USERNAME }}
api_key: ${{ secrets.PUPPET_FORGE_API_KEY }}

create-github-release:
name: Create GitHub Release
runs-on: ubuntu-latest
steps:
- name: Create GitHub release
uses: voxpupuli/gha-create-a-github-release@v1
2 changes: 1 addition & 1 deletion .msync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# Managed by modulesync - DO NOT EDIT
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/

modulesync_config_version: '9.0.0'
modulesync_config_version: '9.1.0'
3 changes: 3 additions & 0 deletions .puppet-lint.rc
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
# Managed by modulesync - DO NOT EDIT
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/

--fail-on-warnings
2 changes: 2 additions & 0 deletions .sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
enabled_lint_checks:
- parameter_documentation
- parameter_types
spec/spec_helper.rb:
facterdb_string_keys: true
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
source ENV['GEM_SOURCE'] || 'https://rubygems.org'

group :test do
gem 'voxpupuli-test', '~> 8.0', :require => false
gem 'voxpupuli-test', '~> 9.0', :require => false
gem 'coveralls', :require => false
gem 'simplecov-console', :require => false
gem 'puppet_metadata', '~> 4.0', :require => false
Expand Down
21 changes: 10 additions & 11 deletions spec/classes/letsencrypt_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
describe 'with defaults' do
it { is_expected.to compile }

epel = facts[:osfamily] == 'RedHat' && facts[:operatingsystem] != 'Fedora'

epel = facts['os']['family'] == 'RedHat' && facts['os']['name'] != 'Fedora'
it 'contains the correct resources' do
is_expected.to contain_class('letsencrypt::install').
with(configure_epel: epel).
Expand All @@ -33,7 +32,7 @@
cron_monthday: ['*'])
is_expected.to contain_cron('letsencrypt-renew').with_ensure('absent')

if facts[:osfamily] == 'FreeBSD'
if facts['os']['family'] == 'FreeBSD'
is_expected.to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini email foo@example.com')
is_expected.to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini server https://acme-v02.api.letsencrypt.org/directory')
is_expected.to contain_file('letsencrypt-renewal-hooks-puppet').
Expand All @@ -50,7 +49,7 @@
is_expected.to contain_file('letsencrypt-renewal-hooks-puppet').with_path('/etc/letsencrypt/renewal-hooks-puppet')
end

if facts[:osfamily] == 'RedHat'
if facts['os']['family'] == 'RedHat'
if epel
is_expected.to contain_class('epel').that_comes_before('Package[letsencrypt]')
else
Expand All @@ -60,20 +59,20 @@
is_expected.to contain_class('letsencrypt').with(package_command: 'certbot')
is_expected.to contain_package('letsencrypt').with(name: 'certbot').with_ensure('installed')
is_expected.to contain_file('/etc/letsencrypt').with(ensure: 'directory')
elsif facts[:osfamily] == 'Debian'
elsif facts['os']['family'] == 'Debian'
is_expected.to contain_class('letsencrypt::install').with(package_name: 'certbot')
is_expected.to contain_file('/etc/letsencrypt').with(ensure: 'directory')
elsif facts[:operatingsystem] == 'Gentoo'
elsif facts['os']['name'] == 'Gentoo'
is_expected.to contain_class('letsencrypt::install').with(package_name: 'app-crypt/certbot')
is_expected.to contain_class('letsencrypt').with(package_command: 'certbot')
is_expected.to contain_package('letsencrypt').with(name: 'app-crypt/certbot').with_ensure('installed')
is_expected.to contain_file('/etc/letsencrypt').with(ensure: 'directory')
elsif facts[:operatingsystem] == 'OpenBSD'
elsif facts['os']['name'] == 'OpenBSD'
is_expected.to contain_class('letsencrypt::install').with(package_name: 'certbot')
is_expected.to contain_class('letsencrypt').with(package_command: 'certbot')
is_expected.to contain_package('letsencrypt').with(name: 'certbot').with_ensure('installed')
is_expected.to contain_file('/etc/letsencrypt').with(ensure: 'directory')
elsif facts[:operatingsystem] == 'FreeBSD'
elsif facts['os']['name'] == 'FreeBSD'
is_expected.to contain_class('letsencrypt::install').with(package_name: 'py311-certbot')
is_expected.to contain_class('letsencrypt').with(package_command: 'certbot')
is_expected.to contain_package('letsencrypt').with(name: 'py311-certbot').with_ensure('installed')
Expand All @@ -100,7 +99,7 @@
describe 'with custom config' do
let(:additional_params) { { config: { 'foo' => 'bar' } } }

case facts[:operatingsystem]
case facts['os']['name']
when 'FreeBSD'
it { is_expected.to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini foo bar') }
else
Expand Down Expand Up @@ -237,7 +236,7 @@

it { is_expected.to compile.with_all_deps }

case facts[:operatingsystem]
case facts['os']['name']
when 'FreeBSD'
it { is_expected.to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini email foo@example.com') }
else
Expand All @@ -253,7 +252,7 @@
context 'with unsafe_registration set to true' do
let(:params) { { unsafe_registration: true } }

case facts[:operatingsystem]
case facts['os']['name']
when 'FreeBSD'
it { is_expected.not_to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini email foo@example.com') }
it { is_expected.to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini register-unsafely-without-email true') }
Expand Down
4 changes: 2 additions & 2 deletions spec/classes/plugin/dns_cloudflare_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ class { 'letsencrypt':
PUPPET
end
let(:package_name) do
if %w[Debian RedHat].include?(facts[:os]['family'])
if %w[Debian RedHat].include?(facts['os']['family'])
'python3-certbot-dns-cloudflare'
elsif %w[FreeBSD].include?(facts[:os]['family'])
elsif %w[FreeBSD].include?(facts['os']['family'])
'py311-certbot-dns-cloudflare'
end
end
Expand Down
4 changes: 2 additions & 2 deletions spec/classes/plugin/dns_rfc2136_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class { 'letsencrypt':
PUPPET
end
let(:package_name) do
case facts[:os]['family']
case facts['os']['family']
when 'FreeBSD'
'py311-certbot-dns-rfc2136'
when 'OpenBSD'
Expand All @@ -39,7 +39,7 @@ class { 'letsencrypt':
end

# FreeBSD uses a different filesystem path
let(:pathprefix) { facts[:kernel] == 'FreeBSD' ? '/usr/local' : '' }
let(:pathprefix) { facts['kernel'] == 'FreeBSD' ? '/usr/local' : '' }

it do
if package_name.empty?
Expand Down
2 changes: 1 addition & 1 deletion spec/classes/plugin/dns_route53_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class { 'letsencrypt':
PUPPET
end
let(:package_name) do
case facts[:os]['family']
case facts['os']['family']
when 'FreeBSD'
'py311-certbot-dns-route53'
when 'OpenBSD'
Expand Down
6 changes: 3 additions & 3 deletions spec/defines/letsencrypt_certonly_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
let(:pre_condition) { "class { letsencrypt: email => 'foo@example.com', package_command => 'letsencrypt' }" }

# FreeBSD uses a different filesystem path
pathprefix = facts[:kernel] == 'FreeBSD' ? '/usr/local' : ''
pathprefix = facts['kernel'] == 'FreeBSD' ? '/usr/local' : ''

context 'with a single domain' do
let(:title) { 'foo.example.com' }
Expand All @@ -32,7 +32,7 @@
with_content(%r{#!/bin/sh})
end

if facts[:osfamily] == 'FreeBSD'
if facts['os']['family'] == 'FreeBSD'
it { is_expected.to contain_file('/usr/local/etc/letsencrypt') }
it { is_expected.to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini email foo@example.com') }
it { is_expected.to contain_ini_setting('/usr/local/etc/letsencrypt/cli.ini server https://acme-v02.api.letsencrypt.org/directory') }
Expand Down Expand Up @@ -497,7 +497,7 @@ class { 'letsencrypt::plugin::dns_cloudflare':
it { is_expected.to contain_exec('letsencrypt certonly foo.example.com').with_unless(['test ! -f /usr/local/sbin/letsencrypt-domain-validation', '/usr/local/sbin/letsencrypt-domain-validation /foo/bar/baz/live/foo.example.com/cert.pem \'foo.example.com\'']) }
end

context 'on FreeBSD', if: facts[:os]['name'] == 'FreeBSD' do
context 'on FreeBSD', if: facts['os']['name'] == 'FreeBSD' do
let(:title) { 'foo.example.com' }
let(:pre_condition) { "class { letsencrypt: email => 'foo@example.com'}" }

Expand Down
4 changes: 4 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

require 'voxpupuli/test/spec_helper'

RSpec.configure do |c|
c.facterdb_string_keys = true
end

add_mocked_facts!

if File.exist?(File.join(__dir__, 'default_module_facts.yml'))
Expand Down

0 comments on commit 8218d05

Please sign in to comment.