]> git.netwichtig.de Git - user/henk/code/puppet/modules/s6.git/commitdiff
work with systemd
authorHendrik Jäger <gitcommit@henk.geekmail.org>
Sun, 26 Jun 2022 20:34:39 +0000 (22:34 +0200)
committerHendrik Jäger <gitcommit@henk.geekmail.org>
Mon, 25 Jul 2022 21:53:04 +0000 (23:53 +0200)
files/etc/systemd/system/s6.service [new file with mode: 0644]
manifests/install.pp

diff --git a/files/etc/systemd/system/s6.service b/files/etc/systemd/system/s6.service
new file mode 100644 (file)
index 0000000..3c3c7ec
--- /dev/null
@@ -0,0 +1,14 @@
+[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
index 9609076b25b5e45c671a9fbc9a114a5a39f0c677..f683aad6a00765ce7a97e15bd1ddefc8593b21e0 100644 (file)
@@ -5,23 +5,6 @@ class s6::install {
     ;
   }
   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,
     ;
@@ -32,6 +15,37 @@ class s6::install {
       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,