]> git.netwichtig.de Git - user/henk/code/puppet/modules/s6.git/blob - manifests/install.pp
feat: support for snippets from other modules
[user/henk/code/puppet/modules/s6.git] / manifests / install.pp
1 class s6::install {
2   package {
3     's6':
4       ensure => installed,
5     ;
6   }
7   file {
8     '/etc/s6-services/':
9       ensure => directory,
10     ;
11     '/etc/s6-scandir/':
12       ensure => directory,
13     ;
14     '/var/log/s6/':
15       ensure => directory,
16     ;
17   }
18
19   if $facts['service_provider'] == 'systemd' {
20     file {
21       '/etc/systemd/system/s6.service':
22         ensure  => present,
23         source  => 'puppet:///modules/s6/etc/systemd/system/s6.service',
24         require => Package['s6'],
25         notify  => Class['s6::service'],
26       ;
27     }
28   } else {
29     file {
30       '/usr/local/bin/s6-svscanboot':
31         ensure  => present,
32         source  => [
33           "puppet:///modules/s6/usr/local/bin/s6-svscanboot.${facts['os']['distro']['codename']}",
34           'puppet:///modules/s6/usr/local/bin/s6-svscanboot',
35         ],
36         mode    => '0755',
37         require => Package['s6'],
38         notify  => Class['s6::service'],
39       ;
40       '/etc/init.d/s6':
41         ensure  => present,
42         source  => 'puppet:///modules/s6/etc/init.d/s6',
43         mode    => '0755',
44         require => Package['s6'],
45         notify  => Class['s6::service'],
46       ;
47     }
48   }
49   user {
50     's6-logs':
51       ensure => present,
52       home   => '/nonexistant',
53       shell  => '/usr/sbin/nologin',
54       system => true,
55     ;
56   }
57 }