Puppet Class: facette

Inherits:
facette::params
Defined in:
manifests/init.pp

Overview

Parameters:

  • config (Optional[Hash]) (defaults to: undef)
  • providers (Optional[Hash[String, Hash]]) (defaults to: undef)
  • state (Optional[Hash]) (defaults to: undef)


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,
      }
    }
  }
}