]> git.netwichtig.de Git - user/henk/code/puppet/modules/henks_ircservices.git/blob - manifests/network.pp
refactor
[user/henk/code/puppet/modules/henks_ircservices.git] / manifests / network.pp
1 define henks_ircservices::network (
2   String $run_user = "irc-services-${name}",
3   String $network_name = $name,
4 ) {
5   $service_base = "/etc/s6-services/irc-services-${network_name}/"
6
7   user {
8     $run_user:
9       ensure     => present,
10       password   => '!',
11       managehome => true,
12     ;
13   }
14
15   file {
16     $service_base:
17       ensure => directory,
18     ;
19     "${service_base}/run":
20       ensure  => present,
21       content => epp(
22         'henks_ircservices/etc/s6-services/irc-services/run.epp',
23         {
24           'network_name' => $network_name,
25           'run_user'     => $run_user,
26         },
27       ),
28       mode    => '0755',
29     ;
30     "${service_base}/timeout-kill":
31       ensure  => present,
32       content => '0',
33     ;
34     "${service_base}/log/":
35       ensure => directory,
36     ;
37     "${service_base}/log/run":
38       ensure  => present,
39       content => epp(
40         'henks_ircservices/etc/s6-services/irc-services/log/run.epp',
41         {
42           'network_name' => $network_name,
43         },
44       ),
45       mode    => '0755',
46     ;
47     "/var/log/s6/irc-services-${network_name}/":
48       ensure => directory,
49       mode   => '0700',
50     ;
51     "/var/log/s6/irc-services-${network_name}/logs/":
52       ensure => directory,
53       mode   => '0700',
54     ;
55   }
56
57   service {
58     "irc-services-${network_name}":
59       ensure   => running,
60       enable   => true,
61       provider => 's6',
62     ;
63   }
64 }