--- /dev/null
+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,
+ ;
+ }
+}
+
--- /dev/null
+<%- |
+ String $username,
+| -%>
+<% if versioncmp( $facts['os']['release']['major'], '10' ) >= 1 { -%>
+#!/usr/bin/execlineb -P
+<% } else { -%>
+#!/usr/local/bin/execlineb -P
+<% } -%>
+
+define SVUSER <%= $username %>
+define SVLOGDIR /var/log/s6/user_scandir_${SVUSER}/logs/
+
+fdmove -c 2 1
+s6-log
+ t
+ s1048576
+ S2147483648
+ !"mail -s \"user_sv log: ${SVUSER}\" -- root"
+ ${SVLOGDIR}
--- /dev/null
+<% |
+ String $username,
+| -%>
+<% if versioncmp( $facts['os']['release']['major'], '10' ) >= 1 { -%>
+#!/usr/bin/execlineb -P
+<% } else { -%>
+#!/usr/local/bin/execlineb -P
+<% } -%>
+
+define USER <%= $username %>
+backtick HOME { homeof ${USER} }
+importas -n -u HOME HOME
+define SVDIR ${HOME}/.s6-scandir
+
+fdmove -c 2 1
+
+s6-setuidgid ${USER}
+s6-svscan -c 20 ${SVDIR}