This is the puppetboard puppet module.
Puppetboard is a puppet dashboard
https://github.com/nedap/puppetboard
puppet module install nibalizer-puppetboard
Note that this module no longer explicitly requires the puppetlabs apache module. If you want to use the apache functionality of this module you will have to specify that the apache module is installed with:
puppet module install puppetlabs-apache
This module also requires the git
and virtualenv
packages. These can be enabled in the module by:
class { 'puppetboard':
manage_git => true,
manage_virtualenv => true,
}
or by:
class { 'puppetboard':
manage_git => 'latest',
manage_virtualenv => 'latest',
}
Declare the base puppetboard manifest:
class { 'puppetboard': }
If you want puppetboard accessible through Apache and you're able to use the
official puppetlabs/apache
Puppet module, this module contains two classes
to help configuration.
The first, puppetboard::apache::vhost
, will use the apache::vhost
defined-type to create a full virtual host. This is useful if you want
puppetboard to be available from http://pboard.example.com:
# Configure Apache on this server
class { 'apache': }
class { 'apache::mod::wsgi': }
# Configure Puppetboard
class { 'puppetboard': }
# Access Puppetboard through pboard.example.com
class { 'puppetboard::apache::vhost':
vhost_name => 'pboard.example.com',
}
The second, puppetboard::apache::conf
, will create an entry in
/etc/apache2/conf.d
(or /etc/httpd/conf.d
, depending on your distribution).
This is useful if you simply want puppetboard accessible from
http://example.com/puppetboard:
# Configure Apache
# Ensure it does *not* purge configuration files
class { 'apache':
purge_configs => false,
mpm_module => 'prefork',
default_vhost => true,
default_mods => false,
}
class { 'apache::mod::wsgi': }
# Configure Puppetboard
class { 'puppetboard': }
# Access Puppetboard from example.com/puppetboard
class { 'puppetboard::apache::conf': }
You can also relocate puppetboard to a sub-URI of a Virtual Host. This is useful if you want to reverse-proxy puppetboard, but are not planning on dedicating a domain just for puppetboard:
class { 'puppetboard::apache::vhost':
vhost_name => 'dashes.acme',
wsgi_alias => '/pboard',
}
In this case puppetboard will be available (on the default) on http://dashes.acme:5000/pboard. You can then reverse-proxy to it like so:
Redirect /pboard /pboard/
ReverseProxy /pboard/ http://dashes.acme:5000/pboard/
ProxyPassReverse /pboard/ http://dashes.acme:5000/pboard/
RedHat has restrictions on the /etc/apache directory that require wsgi to be configured to use /var/run.
class { 'apache::mod::wsgi':
wsgi_socket_prefix => "/var/run/wsgi",
}
# Configure Apache on this server
class { 'apache': }
class { 'apache::mod::wsgi':
wsgi_socket_prefix => "/var/run/wsgi",
}
# Configure Puppetboard
class { 'puppetboard': }
# Access Puppetboard through pboard.example.com
class { 'puppetboard::apache::vhost':
vhost_name => 'puppetboard.example.com',
port => '8888',
}
Apache 2
Email: [email protected] IRC: #puppetboard and #puppet on freenode
The core of this module was based on Hunter Haugen's puppetboard-vagrant repo.
Please log tickets and issues on github.