summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'manifests')
-rw-r--r--manifests/config.pp6
-rw-r--r--manifests/init.pp4
-rw-r--r--manifests/user_scandir.pp32
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,
+ ;
+ }
+}
+