# == Class: openstack_project::puppetdb # class openstack_project::puppetdb ( $puppetboard = true, $version = '2.3.8-1puppetlabs1', ) { # The puppetlabs postgres module does not manage the postgres user # and group for us. Create them here to ensure concat can create # dirs and files owned by this user and group. user { 'postgres': ensure => present, gid => 'postgres', system => true, require => Group['postgres'], } group { 'postgres': ensure => present, system => true, } class { 'puppetdb::database::postgresql': require => [User['postgres'], Class['openstack_project::template'],], } class { '::puppetdb::server': database_host => 'localhost', ssl_listen_address => '0.0.0.0', # works for ipv6 too java_args => { '-Xmx' => '512m', '-Xms' => '256m' }, puppetdb_version => $version, require => [ User['postgres'], Class['puppetdb::database::postgresql'],], } if $puppetboard { class { 'openstack_project::puppetboard': } } if versioncmp($version, '2.3.8') > 0 { file { '/etc/puppetdb/': ensure => directory, before => Class['::puppetdb::server'], } file { '/etc/puppetdb/conf.d/': ensure => directory, before => Class['::puppetdb::server'], } apt::source { 'puppetlabs-pc1': location => 'http://apt.puppetlabs.com', repos => 'PC1', key => { 'id' =>'47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30', 'server' => 'pgp.mit.edu', }, before => Class['::puppetdb::server'], } } }