Spencer Krum 5740ed3118 Add PuppetBoard to openstack infra
This places the puppet web dashboard puppetboard from
https://github.com/nedap/puppetboard onto the puppetdb server.

This enables anyone to see the output of puppet runs, which nodes
are failing and which nodes have not checked in over time. We can
also quickly and interactively query the facts database.

This also modifies install_modules.sh to support a list of modules
that will be installed without dependency resolution.

Change-Id: I09d09410dd8fa71759ce6b2f9c7f34f78eefe204
2014-03-20 00:50:54 -07:00

45 lines
1.1 KiB
Puppet

# == Class: openstack_project::puppetdb
#
class openstack_project::puppetdb (
$sysadmins = [],
$puppetboard = true,
) {
# 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 { 'openstack_project::server':
iptables_public_tcp_ports => [8081],
sysadmins => $sysadmins,
}
class { 'puppetdb::database::postgresql':
require => [User['postgres'],
Class['openstack_project::base'],],
}
class { '::puppetdb::server':
database_host => 'localhost',
ssl_listen_address => '0.0.0.0', # works for ipv6 too
require => [ User['postgres'],
Class['puppetdb::database::postgresql'],],
}
if $puppetboard {
class { 'openstack_project::puppetboard': }
}
}