Defined Type: icinga::cert

Defined in:
manifests/cert.pp

Summary

A class to generate tls key, cert and cacert files.

Overview

Parameters:

  • args (Icinga::Certificate)

    A config hash with the keys: key_file, cert_file, cacert_file, key, cert and cacert

  • owner (String)

    Owner of the files.

  • group (String)

    Group membership of all files.



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

define icinga::cert (
  Icinga::Certificate $args,
  String              $owner,
  String              $group,
) {
  if $facts['os']['family'] == 'windows' {
    $key_mode = undef
  } else {
    File {
      owner => $owner,
      group => $group,
      mode  => '0640',
    }
    $key_mode = '0400'
  }

  if $args[key] {
    file { $args['key_file']:
      ensure    => file,
      content   => icinga::newline(icinga::unwrap($args['key'])),
      mode      => $key_mode,
      show_diff => false,
    }
  }

  if $args['cert'] {
    file { $args['cert_file']:
      ensure  => file,
      content => icinga::newline($args['cert']),
    }
  }

  if $args['cacert'] {
    file { $args['cacert_file']:
      ensure  => file,
      content => icinga::newline($args['cacert']),
    }
  }
}