2 changes: 1 addition & 1 deletion .msync.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
modulesync_config_version: '1.6.0'
modulesync_config_version: '1.8.0'
11 changes: 7 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,17 @@ matrix:
include:
- rvm: 2.1.9
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 4.0" CHECK=test PARALLEL_TEST_PROCESSORS=16
- rvm: 2.4.2
env: PUPPET_VERSION="~> 4.0" CHECK=test PARALLEL_TEST_PROCESSORS=12
- rvm: 2.4.3
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=test_with_coveralls
- rvm: 2.4.2
- rvm: 2.5.0
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=test_with_coveralls
- rvm: 2.4.3
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=rubocop
- rvm: 2.4.2
- rvm: 2.4.3
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes
branches:
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
Each new release typically also includes the latest modulesync defaults.
These should not affect the functionality of the module.

## [v2.3.0](https://github.com/voxpupuli/puppet-letsencrypt/tree/v2.3.0) (2018-02-28)

[Full Changelog](https://github.com/voxpupuli/puppet-letsencrypt/compare/v2.2.0...v2.3.0)

**Implemented enhancements:**

- Add OpenBSD support [\#114](https://github.com/voxpupuli/puppet-letsencrypt/pull/114) ([arthurbarton](https://github.com/arthurbarton))

## [v2.2.0](https://github.com/voxpupuli/puppet-letsencrypt/tree/v2.2.0) (2018-01-04)

[Full Changelog](https://github.com/voxpupuli/puppet-letsencrypt/compare/v2.1.0...v2.2.0)
Expand Down
4 changes: 2 additions & 2 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def location_for(place, fake_version = nil)
end

group :test do
gem 'puppetlabs_spec_helper', '~> 2.5.0', :require => false
gem 'puppetlabs_spec_helper', '~> 2.6.0', :require => false
gem 'rspec-puppet', '~> 2.5', :require => false
gem 'rspec-puppet-facts', :require => false
gem 'rspec-puppet-utils', :require => false
Expand Down Expand Up @@ -57,7 +57,7 @@ group :system_tests do
end

group :release do
gem 'github_changelog_generator', :require => false, :git => 'https://github.com/skywinder/github-changelog-generator'
gem 'github_changelog_generator', :require => false, :git => 'https://github.com/skywinder/github-changelog-generator' if RUBY_VERSION >= '2.2.2'
gem 'puppet-blacksmith', :require => false
gem 'voxpupuli-release', :require => false, :git => 'https://github.com/voxpupuli/voxpupuli-release-gem'
gem 'puppet-strings', '~> 1.0', :require => false
Expand Down
2 changes: 1 addition & 1 deletion manifests/certonly.pp
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
ensure => 'file',
mode => '0755',
owner => 'root',
group => 'root',
group => $::letsencrypt::cron_owner_group,
content => "#!/bin/sh\n${cron_cmd}",
}
cron { "letsencrypt renew cron ${title}":
Expand Down
9 changes: 9 additions & 0 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
$install_method = 'package'
$package_name = 'app-crypt/certbot'
$package_command = 'certbot'
} elsif $::osfamily == 'OpenBSD' {
$install_method = 'package'
$package_name = 'certbot'
$package_command = 'certbot'
} else {
$install_method = 'vcs'
$package_name = 'letsencrypt'
Expand All @@ -42,4 +46,9 @@
} else {
$configure_epel = false
}

$cron_owner_group = $::osfamily ? {
'OpenBSD' => 'wheel',
default => 'root',
}
}
8 changes: 7 additions & 1 deletion metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "puppet-letsencrypt",
"version": "2.2.0",
"version": "2.3.0",
"author": "Vox Pupuli",
"summary": "Manages lets-encrypt and certbot + related certs",
"license": "Apache-2.0",
Expand Down Expand Up @@ -37,6 +37,12 @@
"operatingsystemrelease": [
"8"
]
},
{
"operatingsystem": "OpenBSD",
"operatingsystemrelease": [
"6.2"
]
}
],
"requirements": [
Expand Down
2 changes: 0 additions & 2 deletions spec/acceptance/nodesets/fedora-25-x64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
# https://github.com/voxpupuli/modulesync
# https://github.com/voxpupuli/modulesync_config
#
# platform is fedora 24 because there is no
# puppet-agent for fedora 25 by 2016-12-30
HOSTS:
fedora-25-x64:
roles:
Expand Down
16 changes: 16 additions & 0 deletions spec/acceptance/nodesets/fedora-26-x64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
# This file is managed via modulesync
# https://github.com/voxpupuli/modulesync
# https://github.com/voxpupuli/modulesync_config
#
HOSTS:
fedora-26-x64:
roles:
- master
platform: fedora-26-x86_64
box: fedora/26-cloud-base
hypervisor: vagrant
CONFIG:
type: aio
...
# vim: syntax=yaml
18 changes: 18 additions & 0 deletions spec/acceptance/nodesets/fedora-27-x64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
# This file is managed via modulesync
# https://github.com/voxpupuli/modulesync
# https://github.com/voxpupuli/modulesync_config
#
# platform is fedora 26 because there is no puppet-agent
# for fedora 27 as of 2017-11-17
HOSTS:
fedora-27-x64:
roles:
- master
platform: fedora-26-x86_64
box: fedora/27-cloud-base
hypervisor: vagrant
CONFIG:
type: aio
...
# vim: syntax=yaml
14 changes: 14 additions & 0 deletions spec/classes/letsencrypt_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -241,4 +241,18 @@
end
end
end
context 'on OpenBSD operating system' do
let(:facts) { { osfamily: 'OpenBSD', operatingsystem: 'OpenBSD', operatingsystemrelease: '6.2', operatingsystemmajrelease: '6', path: '/usr/bin' } }
let(:params) { { email: 'foo@example.com' } }

describe 'with defaults' do
it { is_expected.to compile }

it 'contains the correct resources' do
is_expected.to contain_class('letsencrypt::install').with(install_method: 'package').with(package_name: 'certbot')
is_expected.to contain_class('letsencrypt').with(package_command: 'certbot')
is_expected.to contain_package('letsencrypt').with(name: 'certbot')
end
end
end
end