Skip to content

Commit e81d64c

Browse files
committed
Allow separate group owner for log directory
Currently the group for `log_dir` is set to the `service_group`. It can be useful to set a different group, eg the `adm` group is often used to allow read access to logs. Setting `log_dir_group` with a suitable `log_dir_mode` would facilitate this.
1 parent 732e9ab commit e81d64c

File tree

4 files changed

+28
-3
lines changed

4 files changed

+28
-3
lines changed

REFERENCE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ The following parameters are available in the `redis` class:
115115
* [`list_max_ziplist_entries`](#-redis--list_max_ziplist_entries)
116116
* [`list_max_ziplist_value`](#-redis--list_max_ziplist_value)
117117
* [`log_dir`](#-redis--log_dir)
118+
* [`log_dir_group`](#-redis--log_dir_group)
118119
* [`log_dir_mode`](#-redis--log_dir_mode)
119120
* [`log_file`](#-redis--log_file)
120121
* [`log_level`](#-redis--log_level)
@@ -479,6 +480,14 @@ Specify directory where to write log entries.
479480

480481
Default value: `$redis::params::log_dir`
481482

483+
##### <a name="-redis--log_dir_group"></a>`log_dir_group`
484+
485+
Data type: `Optional[String[1]]`
486+
487+
Adjust filesystem group for log files.
488+
489+
Default value: `undef`
490+
482491
##### <a name="-redis--log_dir_mode"></a>`log_dir_mode`
483492

484493
Data type: `Stdlib::Filemode`

manifests/config.pp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
file { $redis::log_dir:
1616
ensure => directory,
17-
group => $redis::service_group,
17+
group => pick($redis::log_dir_group, $redis::service_group),
1818
mode => $redis::log_dir_mode,
1919
owner => $redis::service_user,
2020
}

manifests/init.pp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@
8181
# Set max ziplist values for lists.
8282
# @param log_dir
8383
# Specify directory where to write log entries.
84+
# @param log_dir_group
85+
# Adjust filesystem group for log files.
8486
# @param log_dir_mode
8587
# Adjust mode for directory containing log files.
8688
# @param log_file
@@ -385,6 +387,7 @@
385387
Integer[0] $list_max_ziplist_entries = 512,
386388
Integer[0] $list_max_ziplist_value = 64,
387389
Stdlib::Absolutepath $log_dir = $redis::params::log_dir,
390+
Optional[String[1]] $log_dir_group = undef,
388391
Stdlib::Filemode $log_dir_mode = $redis::params::log_dir_mode,
389392
String $log_file = 'redis.log',
390393
Redis::LogLevel $log_level = 'notice',

spec/classes/redis_spec.rb

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,9 +1020,22 @@ class { 'redis':
10201020
end
10211021

10221022
describe 'with parameter: service_group' do
1023-
let(:params) { { service_group: '_VALUE_' } }
1023+
describe 'with defaults' do
1024+
let(:params) { { service_group: '_VALUE_' } }
10241025

1025-
it { is_expected.to contain_file('/var/log/redis').with_group('_VALUE_') }
1026+
it { is_expected.to contain_file('/var/log/redis').with_group('_VALUE_') }
1027+
end
1028+
1029+
describe 'with parameter: log_dir_group' do
1030+
let(:params) do
1031+
{
1032+
log_dir_group: 'logdirgroup',
1033+
service_group: '_VALUE_'
1034+
}
1035+
end
1036+
1037+
it { is_expected.to contain_file('/var/log/redis').with_group('logdirgroup') }
1038+
end
10261039
end
10271040

10281041
describe 'with parameter: service_name' do

0 commit comments

Comments
 (0)