Puppet Class: puppet::profile::puppetdb

Defined in:
manifests/profile/puppetdb.pp

Overview

Parameters:

  • puppetdb_version (Any) (defaults to: 'installed')
  • node_purge_ttl (Any) (defaults to: '0s')
  • node_ttl (Any) (defaults to: '0s')
  • puppetdb_listen_address (Any) (defaults to: '127.0.0.1')
  • puppetdb_server (Any) (defaults to: undef)
  • puppetdb_ssl_listen_address (Any) (defaults to: '0.0.0.0')
  • report_ttl (Any) (defaults to: '14d')
  • reports (Any) (defaults to: undef)
  • use_ssl (Any) (defaults to: true)
  • listen_port (Any) (defaults to: '8080')
  • ssl_listen_port (Any) (defaults to: '8081')
  • puppet_server_type (Any) (defaults to: undef)


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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'manifests/profile/puppetdb.pp', line 30

class puppet::profile::puppetdb (
  $puppetdb_version            = 'installed',
  $node_purge_ttl              = '0s',
  $node_ttl                    = '0s',
  $puppetdb_listen_address     = '127.0.0.1',
  $puppetdb_server             = undef,
  $puppetdb_ssl_listen_address = '0.0.0.0',
  $report_ttl                  = '14d',
  $reports                     = undef,
  $use_ssl                     = true,
  $listen_port                 = '8080',
  $ssl_listen_port             = '8081',
  $puppet_server_type          = undef,
) {
  # input validation
  validate_bool(
    $use_ssl
  )
  validate_string(
    $puppetdb_version,
    $node_purge_ttl,
    $node_ttl,
    $puppetdb_listen_address,
    $puppetdb_ssl_listen_address,
    $report_ttl,
  )
  validate_integer(
    [
      $listen_port,
      $ssl_listen_port,
    ]
  )

  # add deprecation warnings
  if $puppetdb_server != undef {
    notify { 'Deprecation notice: puppet::profile::puppetdb::puppetdb_server is deprecated, use puppet::profile::master to setup PuppetDB on your puppetmaster': }
  }
  if $reports != undef {
    notify { 'Deprecation notice: puppet::profile::puppetdb::reports is deprecated, use puppet::profile::master to setup PuppetDB on your puppetmaster': }
  }
  if $puppet_server_type != undef {
    notify { 'Deprecation notice: puppet::profile::puppetdb::puppet_server_type is deprecated, use puppet::profile::master to setup PuppetDB on your puppetmaster': }
  }

  case $use_ssl {
    default : {
      $puppetdb_port = $ssl_listen_port
      $disable_ssl = false
    }
    false   : {
      $puppetdb_port = $listen_port
      $disable_ssl = true
    }
  }

  # add pg_trgm to the puppetdb database
  # remove this once the puppetdb module supports it
  # need postgresql::server::contrib class to make pg_trgm work
  # class { '::postgresql::server::contrib':
  # }
  # postgresql::server::extension{ 'pg_trgm':
  #   database => 'puppetdb',
  # }

  # version is now managed with the puppetdb::globals class
  class { '::puppetdb::globals':
    version   => $puppetdb_version,
  }

  # setup puppetdb
  class { '::puppetdb':
    listen_port        => $listen_port,
    ssl_listen_port    => $ssl_listen_port,
    disable_ssl        => $disable_ssl,
    listen_address     => $puppetdb_listen_address,
    ssl_listen_address => $puppetdb_ssl_listen_address,
    node_ttl           => $node_ttl,
    node_purge_ttl     => $node_purge_ttl,
    report_ttl         => $report_ttl,
  }

}