3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'manifests/install.pp', line 3
class consul_template::install {
if ! empty($consul_template::data_dir) {
file { $consul_template::data_dir:
ensure => 'directory',
owner => $consul_template::user,
group => $consul_template::group,
mode => '0755',
}
}
if $consul_template::install_method == 'url' {
include archive
if $facts['os']['name'] != 'darwin' {
ensure_packages(['tar'])
}
archive { "/tmp/consul-template-${consul_template::version}.zip":
source => $consul_template::_download_url,
extract => true,
extract_path => "${consul_template::bin_dir}",
creates => "${consul_template::bin_dir}/consul-template",
cleanup => true,
}
-> file {
"${consul_template::bin_dir}/consul-template":
owner => 'root',
group => 0, # 0 instead of root because OS X uses "wheel".
mode => '0555';
}
} elsif $consul_template::install_method == 'package' {
package { $consul_template::package_name:
ensure => $consul_template::package_ensure,
}
} else {
fail("The provided install method ${consul_template::install_method} is invalid")
}
if $consul_template::init_style {
case $consul_template::init_style {
'upstart' : {
file { '/etc/init/consul-template.conf':
mode => '0444',
owner => 'root',
group => 'root',
content => template('consul_template/consul-template.upstart.erb'),
}
file { '/etc/init.d/consul-template':
ensure => link,
target => '/lib/init/upstart-job',
owner => root,
group => root,
mode => '0755',
}
}
'systemd' : {
file { '/lib/systemd/system/consul-template.service':
mode => '0644',
owner => 'root',
group => 'root',
content => template('consul_template/consul-template.systemd.erb'),
}
}
'sysv' : {
file { '/etc/init.d/consul-template':
mode => '0555',
owner => 'root',
group => 'root',
content => template('consul_template/consul-template.sysv.erb')
}
}
'debian' : {
file { '/etc/init.d/consul-template':
mode => '0555',
owner => 'root',
group => 'root',
content => template('consul_template/consul-template.debian.erb')
}
}
'sles' : {
file { '/etc/init.d/consul-template':
mode => '0555',
owner => 'root',
group => 'root',
content => template('consul_template/consul-template.sles.erb')
}
}
default : {
fail("I don't know how to create an init script for style ${consul_template::init_style}")
}
}
}
if $consul_template::manage_user {
user { $consul_template::user:
ensure => 'present',
system => true,
}
}
if $consul_template::manage_group {
group { $consul_template::group:
ensure => 'present',
system => true,
}
}
}
|