diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/config.pp | 6 | ||||
-rw-r--r-- | manifests/init.pp | 4 | ||||
-rw-r--r-- | manifests/user_scandir.pp | 32 |
3 files changed, 41 insertions, 1 deletions
diff --git a/manifests/config.pp b/manifests/config.pp index 85a0831..3431ef8 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -13,4 +13,10 @@ class s6::config { mode => '0700', ; } + + $s6::scandir_users.each | $entry | { + s6::user_scandir { + $entry: ; + } + } } diff --git a/manifests/init.pp b/manifests/init.pp index 3141174..833fd8c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,4 +1,6 @@ -class s6 { +class s6 ( + Optional[Array[String]] $scandir_users = [], +) { require 'execline' class { diff --git a/manifests/user_scandir.pp b/manifests/user_scandir.pp new file mode 100644 index 0000000..db62fc3 --- /dev/null +++ b/manifests/user_scandir.pp @@ -0,0 +1,32 @@ +define s6::user_scandir( + Optional[String] $homedir = undef, +) { + $scandir = '/etc/s6-scandir' + + file { + "${scandir}/user_scandir_${title}": + ensure => directory, + ; + "${scandir}/user_scandir_${title}/run": + ensure => present, + content => epp('s6/user_scandir/run.epp', { 'username' => $title } ), + mode => '0744', + ; + "${scandir}/user_scandir_${title}/log": + ensure => directory, + ; + "${scandir}/user_scandir_${title}/log/run": + ensure => present, + content => epp('s6/user_scandir/log/run.epp', { 'username' => $title } ), + mode => '0744', + ; + [ + '/var/log/s6/', + "/var/log/s6/user_scandir_${title}/", + "/var/log/s6/user_scandir_${title}/logs/", + ]: + ensure => directory, + ; + } +} + |