Puppet Class: relay::install

Defined in:
manifests/install.pp

Overview



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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'manifests/install.pp', line 2

class relay::install {
  file { $relay::settings_file:
    ensure  => file,
    owner   => $relay::puppet_user,
    group   => $relay::puppet_group,
    mode    => '0640',
    content => Sensitive(epp('relay/settings.yaml.epp', {
      debug                  => $relay::debug,
      test                   => $relay::test,
      relay_api_url          => $relay::relay_api_url,
      relay_connection_token => $relay::relay_connection_token,
      relay_trigger_token    => $relay::relay_trigger_token,
      backend                => $relay::backend,
      backend_options        => $relay::backend_options,
      proxy_host             => $relay::proxy_host,
      proxy_port             => $relay::proxy_port,
      proxy_user             => $relay::proxy_user,
      proxy_password         => $relay::proxy_password,
    })),
  }

  $agent_enabled = $relay::relay_connection_token ? {
    undef   => false,
    default => true,
  }

  $agent_unit_ensure = $agent_enabled ? { true => present, default => absent }

  file { '/etc/systemd/system/relay-agent.service':
    ensure  => $agent_unit_ensure,
    owner   => 'root',
    group   => 'root',
    mode    => '0644',
    content => epp('relay/agent.service.epp', {}),
  }

  $agent_run_dir_ensure = $agent_enabled ? { true => directory, default => absent }

  file { '/var/run/puppetlabs/relay':
    ensure => $agent_run_dir_ensure,
    force  => true,
    owner  => $relay::puppet_user,
    group  => $relay::puppet_group,
    mode   => '0750',
  }

  $report_processor_ensure = $relay::relay_trigger_token ? {
    undef   => absent,
    default => present,
  }

  ini_subsetting { 'puppetserver puppetconf report processor':
    ensure               => $report_processor_ensure,
    path                 => $settings::config,
    section              => 'master',
    setting              => 'reports',
    subsetting           => 'relay',
    subsetting_separator => ',',
    require              => File[$relay::settings_file],
  }

  file { $relay::state_file:
    ensure  => file,
    owner   => $relay::puppet_user,
    group   => $relay::puppet_group,
    mode    => '0640',
    content => to_json_pretty({
      version                  => $relay::current_version,
      report_processor_enabled => $report_processor_ensure == present,
    }),
  }

  if $facts['puppet_type'] == 'enterprise' {
    File[$relay::state_file] ~> Service[$relay::puppet_service]
  }
}