--- /dev/null
+[Unit]
+Description=s6 supervision tree
+Documentation=https://skarnet.org/software/s6/
+
+[Install]
+WantedBy=multi-user.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/s6-svscan -t0 /etc/s6-scandir
+ExecStop=/usr/bin/s6-svscanctl -t /etc/s6-scandir
+ExecReload=/usr/bin/s6-svscanctl -an /etc/s6-scandir
+Restart=always
+RestartSec=1
;
}
file {
- '/usr/local/bin/s6-svscanboot':
- ensure => present,
- source => [
- "puppet:///modules/s6/usr/local/bin/s6-svscanboot.${facts['os']['distro']['codename']}",
- 'puppet:///modules/s6/usr/local/bin/s6-svscanboot',
- ],
- mode => '0755',
- require => Package['s6'],
- notify => Class['s6::service'],
- ;
- '/etc/init.d/s6':
- ensure => present,
- source => 'puppet:///modules/s6/etc/init.d/s6',
- mode => '0755',
- require => Package['s6'],
- notify => Class['s6::service'],
- ;
'/etc/s6-services/':
ensure => directory,
;
ensure => directory,
;
}
+
+ if $facts['service_provider'] == 'systemd' {
+ file {
+ '/etc/systemd/system/s6.service':
+ ensure => present,
+ source => 'puppet:///modules/s6/etc/systemd/system/s6.service',
+ require => Package['s6'],
+ notify => Class['s6::service'],
+ ;
+ }
+ } else {
+ file {
+ '/usr/local/bin/s6-svscanboot':
+ ensure => present,
+ source => [
+ "puppet:///modules/s6/usr/local/bin/s6-svscanboot.${facts['os']['distro']['codename']}",
+ 'puppet:///modules/s6/usr/local/bin/s6-svscanboot',
+ ],
+ mode => '0755',
+ require => Package['s6'],
+ notify => Class['s6::service'],
+ ;
+ '/etc/init.d/s6':
+ ensure => present,
+ source => 'puppet:///modules/s6/etc/init.d/s6',
+ mode => '0755',
+ require => Package['s6'],
+ notify => Class['s6::service'],
+ ;
+ }
+ }
user {
's6-logs':
ensure => present,