Puppet Class: chronograf::config

Defined in:
manifests/config.pp

Summary

Manages directories and files; service defaults

Overview

Examples:

include chronograf::config

Parameters:

  • service_defaults (Stdlib::Absolutepath) (defaults to: $chronograf::service_defaults)
  • service_definition (Stdlib::Absolutepath) (defaults to: $chronograf::service_definition)
  • service_definition_template (String) (defaults to: $chronograf::service_definition_template)
  • resources_path (String) (defaults to: $chronograf::resources_path)
  • user (String) (defaults to: $chronograf::user)
  • group (String) (defaults to: $chronograf::group)
  • bolt_path (Stdlib::Absolutepath) (defaults to: $chronograf::bolt_path)
  • canned_path (Stdlib::Absolutepath) (defaults to: $chronograf::canned_path)
  • protoboards_path (Stdlib::Absolutepath) (defaults to: $chronograf::protoboards_path)
  • basepath (Optional[Stdlib::Absolutepath]) (defaults to: $chronograf::basepath)
  • status_feed_url (Optional[Stdlib::HTTPSUrl]) (defaults to: $chronograf::status_feed_url)
  • host (Stdlib::Host) (defaults to: $chronograf::host)
  • port (Stdlib::Port) (defaults to: $chronograf::port)
  • tls_certificate (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::tls_certificate)
  • token_secret (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::token_secret)
  • log_level (Variant[Undef, Enum['UNSET'], Enum['error','warn','info','debug']]) (defaults to: $chronograf::log_level)
  • public_url (Variant[Undef, Enum['UNSET'], Stdlib::HTTPUrl]) (defaults to: $chronograf::public_url)
  • generic_client_id (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::generic_client_id)
  • generic_client_secret (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::generic_client_secret)
  • generic_auth_url (Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl]) (defaults to: $chronograf::generic_auth_url)
  • generic_token_url (Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl]) (defaults to: $chronograf::generic_token_url)
  • use_id_token (Variant[Undef, Enum['UNSET'], Enum['true','false']]) (defaults to: $chronograf::use_id_token)
  • jwks_url (Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl]) (defaults to: $chronograf::jwks_url)
  • generic_api_url (Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl]) (defaults to: $chronograf::generic_api_url)
  • generic_api_key (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::generic_api_key)
  • generic_scopes (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::generic_scopes)
  • generic_domains (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::generic_domains)
  • generic_name (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::generic_name)
  • google_client_id (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::google_client_id)
  • google_client_secret (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::google_client_secret)
  • google_domains (Variant[Undef, Enum['UNSET'], String]) (defaults to: $chronograf::google_domains)


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
# File 'manifests/config.pp', line 5

class chronograf::config (
  Stdlib::Absolutepath $service_defaults = $chronograf::service_defaults,
  Stdlib::Absolutepath $service_definition = $chronograf::service_definition,
  String $service_definition_template = $chronograf::service_definition_template,
  String $resources_path = $chronograf::resources_path,
  String $user = $chronograf::user,
  String $group = $chronograf::group,
  Stdlib::Absolutepath $bolt_path = $chronograf::bolt_path,
  Stdlib::Absolutepath $canned_path = $chronograf::canned_path,
  Stdlib::Absolutepath $protoboards_path = $chronograf::protoboards_path,
  Optional[Stdlib::Absolutepath] $basepath = $chronograf::basepath,
  Optional[Stdlib::HTTPSUrl] $status_feed_url = $chronograf::status_feed_url,
  Stdlib::Host $host = $chronograf::host,
  Stdlib::Port $port = $chronograf::port,
  Variant[Undef, Enum['UNSET'], String] $tls_certificate = $chronograf::tls_certificate,
  Variant[Undef, Enum['UNSET'], String] $token_secret = $chronograf::token_secret,
  Variant[Undef, Enum['UNSET'], Enum['error','warn','info','debug']] $log_level = $chronograf::log_level,
  Variant[Undef, Enum['UNSET'], Stdlib::HTTPUrl] $public_url = $chronograf::public_url,
  Variant[Undef, Enum['UNSET'], String] $generic_client_id = $chronograf::generic_client_id,
  Variant[Undef, Enum['UNSET'], String] $generic_client_secret = $chronograf::generic_client_secret,
  Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl] $generic_auth_url = $chronograf::generic_auth_url,
  Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl] $generic_token_url = $chronograf::generic_token_url,
  Variant[Undef, Enum['UNSET'], Enum['true','false']] $use_id_token = $chronograf::use_id_token,
  Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl] $jwks_url = $chronograf::jwks_url,
  Variant[Undef, Enum['UNSET'], Stdlib::HTTPSUrl] $generic_api_url = $chronograf::generic_api_url,
  Variant[Undef, Enum['UNSET'], String] $generic_api_key = $chronograf::generic_api_key,
  Variant[Undef, Enum['UNSET'], String] $generic_scopes = $chronograf::generic_scopes,
  Variant[Undef, Enum['UNSET'], String] $generic_domains = $chronograf::generic_domains,
  Variant[Undef, Enum['UNSET'], String] $generic_name = $chronograf::generic_name,
  Variant[Undef, Enum['UNSET'], String] $google_client_id = $chronograf::google_client_id,
  Variant[Undef, Enum['UNSET'], String] $google_client_secret = $chronograf::google_client_secret,
  Variant[Undef, Enum['UNSET'], String] $google_domains = $chronograf::google_domains,
) {

  $keys = [
    'HOST',
    'PORT',
    'TLS_CERTIFICATE',
    'TOKEN_SECRET',
    'LOG_LEVEL',
    'PUBLIC_URL',
    'GENERIC_CLIENT_ID',
    'GENERIC_CLIENT_SECRET',
    'GENERIC_AUTH_URL',
    'GENERIC_TOKEN_URL',
    'USE_ID_TOKEN',
    'JWKS_URL',
    'GENERIC_API_URL',
    'GENERIC_API_KEY',
    'GENERIC_SCOPES',
    'GENERIC_DOMAINS',
    'GENERIC_NAME',
    'GOOGLE_CLIENT_ID',
    'GOOGLE_CLIENT_SECRET',
    'GOOGLE_DOMAINS',
  ]

  $keys.each | $key| {
    $value = getvar("${key.downcase}")

    if  $value != 'UNSET' {
      augeas { "set_${key.downcase}":
        context => "/files${service_defaults}",
        incl    => $service_defaults,
        lens    => 'Shellvars.lns',
        changes => [
          "set ${key} ${value}",
        ],
      }
    }
  }

  file { $service_definition:
    ensure  => present,
    owner   => 'root',
    group   => 'root',
    mode    => '0644',
    content => template($service_definition_template),
  }

  file { $resources_path:
    ensure => directory,
    owner  => 'root',
    group  => 'root',
    mode   => '0755',
  }
}