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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'manifests/init.pp', line 1
class facette (
Optional[Hash] $config = undef,
Optional[Hash[String, Hash]] $providers = undef,
Optional[Hash] $state = undef,
) inherits facette::params {
apt::ppa { 'ppa:facette/ppa': }
$_config = merge($::facette::config_defaults, $config)
$_state = merge($::facette::state_defaults, $state)
$_file_opts = { 'owner' => 'root', 'group' => 'root', 'mode' => '0644' }
package { 'facette':
ensure => $_state['package'],
notify => Service['facette'],
require => Apt::Ppa['ppa:facette/ppa'],
}
shellvar { 'enable facette':
ensure => present,
target => '/etc/default/facette',
variable => 'ENABLED',
value => 'true', # lint:ignore:quoted_booleans
require => Package['facette'],
notify => Service['facette'],
}
service { 'facette':
ensure => $_state['service'],
enable => true,
}
file { 'facette.json':
ensure => file,
path => '/etc/facette/facette.json',
content => template('facette/facette.json.erb'),
require => Package['facette'],
notify => Service['facette'],
* => $_file_opts,
}
if $providers {
$providers.each |$provider, $conf| {
file { "facette-${provider}.json":
ensure => file,
path => "/etc/facette/providers/${provider}.json",
content => template('facette/provider.json.erb'),
require => Package['facette'],
notify => Service['facette'],
* => $_file_opts,
}
}
}
}
|