Showing with 32 additions and 9 deletions.
  1. +8 −0 CHANGELOG.md
  2. +12 −5 manifests/init.pp
  3. +11 −3 manifests/params.pp
  4. +1 −1 metadata.json
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## [6.1.0](https://github.com/theforeman/puppet-dhcp/tree/6.1.0) (2020-09-22)

[Full Changelog](https://github.com/theforeman/puppet-dhcp/compare/6.0.0...6.1.0)

**Implemented enhancements:**

- Adjust config directory mode to the system defaults [\#177](https://github.com/theforeman/puppet-dhcp/pull/177) ([ezr-ondrej](https://github.com/ezr-ondrej))

## [6.0.0](https://github.com/theforeman/puppet-dhcp/tree/6.0.0) (2020-05-12)

[Full Changelog](https://github.com/theforeman/puppet-dhcp/compare/5.1.1...6.0.0)
Expand Down
17 changes: 12 additions & 5 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,14 @@
String $logfacility = 'local7',
Boolean $dhcp_monitor = true,
Stdlib::Absolutepath $dhcp_dir = $dhcp::params::dhcp_dir,
Boolean $manage_dhcp_dir = $dhcp::params::manage_dhcp_dir,
Optional[Stdlib::Filemode] $conf_dir_mode = $dhcp::params::conf_dir_mode,
String $packagename = $dhcp::params::packagename,
String $servicename = $dhcp::params::servicename,
$option_static_route = undef,
Variant[Array[String], Optional[String]] $options = undef,
Boolean $authoritative = false,
String $dhcp_root_user = 'root',
String $dhcp_root_group = $dhcp::params::root_group,
Boolean $ddns_updates = false,
Optional[String] $ddns_domainname = undef,
Expand Down Expand Up @@ -71,9 +74,13 @@
ensure => installed,
}

file { $dhcp_dir:
mode => '0755',
require => Package[$packagename],
if $manage_dhcp_dir {
file { $dhcp_dir:
owner => $dhcp_root_user,
group => $dhcp_root_group,
mode => $conf_dir_mode,
require => Package[$packagename],
}
}

# Only debian and ubuntu have this style of defaults for startup.
Expand Down Expand Up @@ -122,7 +129,7 @@
}

concat { "${dhcp_dir}/dhcpd.conf":
owner => 'root',
owner => $dhcp_root_user,
group => $dhcp_root_group,
mode => '0644',
require => Package[$packagename],
Expand All @@ -144,7 +151,7 @@
}

concat { "${dhcp_dir}/dhcpd.hosts":
owner => 'root',
owner => $dhcp_root_user,
group => $dhcp_root_group,
mode => '0644',
require => Package[$packagename],
Expand Down
14 changes: 11 additions & 3 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@

case $facts['os']['family'] {
'Debian': {
$dhcp_dir = '/etc/dhcp'
$dhcp_dir = '/etc/dhcp'
$manage_dhcp_dir = true
$conf_dir_mode = '0755'
$packagename = 'isc-dhcp-server'
$servicename = 'isc-dhcp-server'
$root_group = 'root'
$bootfiles = {
$root_group = 'root'
$bootfiles = {
'00:06' => 'grub2/bootia32.efi',
'00:07' => 'grub2/bootx64.efi',
'00:09' => 'grub2/bootx64.efi',
Expand All @@ -24,6 +26,8 @@

/^(FreeBSD|DragonFly)$/: {
$dhcp_dir = '/usr/local/etc'
$manage_dhcp_dir = false
$conf_dir_mode = undef
$packagename = 'isc-dhcp44-server'
$servicename = 'isc-dhcpd'
$root_group = 'wheel'
Expand All @@ -32,6 +36,8 @@

'Archlinux': {
$dhcp_dir = '/etc'
$manage_dhcp_dir = false
$conf_dir_mode = undef
$packagename = 'dhcp'
$servicename = 'dhcpd4'
$root_group = 'root'
Expand All @@ -40,6 +46,8 @@

'RedHat': {
$dhcp_dir = '/etc/dhcp'
$manage_dhcp_dir = true
$conf_dir_mode = '0750'
if versioncmp($facts['os']['release']['major'], '8') >= 0 {
$packagename = 'dhcp-server'
} else {
Expand Down
2 changes: 1 addition & 1 deletion metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "theforeman-dhcp",
"version": "6.0.0",
"version": "6.1.0",
"author": "theforeman",
"summary": "Manage the ISC DHCP daemon",
"license": "Apache-2.0",
Expand Down