1
2
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
|
# File 'manifests/init.pp', line 1
class vault ($config, $service_location, $service_template, $url) {
ensure_packages(['curl', 'unzip'])
File { owner => root, group => root }
exec { 'retrieve_vault':
command => "/usr/bin/curl -s ${::vault::url} > /tmp/vault.zip",
creates => '/tmp/vault.zip',
require => Package['curl'],
} ~>
exec { 'unzip_vault':
command => '/usr/bin/unzip /tmp/vault.zip -d /opt',
creates => '/opt/vault',
require => Package['unzip'],
} ~>
file { '/opt/vault':
mode => '0755',
notify => Service['vault'],
}
file { '/etc/vault.d': ensure => directory } ->
file { '/etc/vault.d/config.json':
content => $::vault::config, # TODO: hiera-ize instead of JSON
mode => '0644',
notify => Service['vault'],
}
file { $::vault::service_location:
ensure => file,
content => template($::vault::service_template), # TODO: check os support
mode => '0644',
} ~>
service { 'vault':
ensure => running,
enable => true,
}
}
|