puppetboard
: Base class for Puppetboard. Sets up the user and python environment.puppetboard::apache::conf
: Creates an entry in your apache configuration directory to run PuppetBoard server-wide (i.e. not in a vhost).puppetboard::apache::vhost
: Sets up an apache::vhost to run PuppetBoard, and writes an appropriate wsgi.py from template
Puppetboard::Syslogpriority
: type for the different Python log levels
class { 'puppetboard': user => 'pboard', group => 'pboard', basedir => '/www/puppetboard' } -> class { 'puppetboard::apache::conf': user => 'pboard', group => 'pboard', basedir => '/www/puppetboard' }
configure puppetboard with an apache config for a subpath (http://$fqdn/puppetboard)
The following parameters are available in the puppetboard
class:
install_from
user
homedir
group
groups
basedir
git_source
puppetdb_host
puppetdb_port
puppetdb_key
puppetdb_ssl_verify
puppetdb_cert
puppetdb_timeout
unresponsive
enable_catalog
enable_query
offline_mode
localise_timestamp
python_loglevel
python_proxy
python_index
python_systempkgs
default_environment
revision
version
use_pre_releases
manage_git
manage_virtualenv
python_version
virtualenv_dir
manage_user
manage_group
package_name
manage_selinux
reports_count
settings_file
extra_settings
override
enable_ldap_auth
ldap_require_group
apache_confd
apache_service
secret_key
Data type: Enum['package', 'pip', 'vcsrepo']
Specify how the app should be installed
Default value: 'pip'
Data type: String
Puppetboard system user.
Default value: 'puppetboard'
Data type: Optional[Stdlib::Absolutepath]
Puppetboard system user's home directory.
Default value: undef
Data type: String
Puppetboard system group.
Default value: 'puppetboard'
Data type: Optional[Variant[String[1], Array[String[1]]]]
additional groups for the user that runs puppetboard
Default value: undef
Data type: Stdlib::AbsolutePath
Base directory where to build puppetboard vcsrepo and python virtualenv.
Default value: '/srv/puppetboard'
Data type: String
Location of upstream Puppetboard GIT repository
Default value: 'https://github.com/voxpupuli/puppetboard'
Data type: String
PuppetDB Host
Default value: '127.0.0.1'
Data type: Stdlib::Port
PuppetDB Port
Default value: 8080
Data type: Optional[Stdlib::AbsolutePath]
path to PuppetMaster/CA signed client SSL key
Default value: undef
Data type: Variant[Boolean, Stdlib::AbsolutePath]
whether PuppetDB uses SSL or not (true or false), or the path to the puppet CA
Default value: false
Data type: Optional[Stdlib::AbsolutePath]
path to PuppetMaster/CA signed client SSL cert
Default value: undef
Data type: Integer[0]
timeout, in seconds, for connecting to PuppetDB
Default value: 20
Data type: Integer[0]
number of hours after which a node is considered "unresponsive"
Default value: 3
Data type: Boolean
Whether to allow the user to browser catalog comparisons.
Default value: false
Data type: Boolean
Whether to allow the user to run raw queries against PuppetDB.
Default value: true
Data type: Boolean
Weather to load static assents (jquery, semantic-ui, tablesorter, etc)
Default value: false
Data type: Boolean
Whether to localise the timestamps in the UI.
Default value: true
Data type: Puppetboard::Syslogpriority
Python logging module log level.
Default value: 'info'
Data type: Optional[String[1]]
HTTP proxy server to use for pip/virtualenv.
Default value: undef
Data type: Optional[String[1]]
HTTP index server to use for pip/virtualenv.
Default value: undef
Data type: Boolean
Python system packages available in virtualenv.
Default value: false
Data type: String[1]
set the default environment
Default value: 'production'
Data type: Optional[String]
Commit, tag, or branch from Puppetboard's Git repo to be used
Default value: undef
Data type: Variant[Enum['latest'], String[1]]
PyPI package version to be installed
Default value: 'latest'
Data type: Boolean
if version is set to 'latest', then should pre-releases be used too?
Default value: false
Data type: Boolean
If true, require the git package. If false do nothing.
Default value: false
Data type: Boolean
If true, require the virtualenv package. If false do nothing.
Default value: false
Data type: Pattern[/^3\.\d+$/]
Python version to use in virtualenv.
Data type: Stdlib::Absolutepath
Set location where virtualenv will be installed
Default value: "${basedir}/virtenv-puppetboard"
Data type: Boolean
If true, manage (create) this group. If false do nothing.
Default value: true
Data type: Boolean
If true, manage (create) this group. If false do nothing.
Default value: true
Data type: Optional[String[1]]
Name of the package to install puppetboard
Default value: undef
Data type: Boolean
If true, manage selinux policies for puppetboard. If false do nothing.
Default value: pick($facts['os.selinux.enabled'], false)
Data type: Integer[0]
This is the number of reports that we want the dashboard to display.
Default value: 10
Data type: Stdlib::Absolutepath
Path to puppetboard configuration file
Default value: "${basedir}/puppetboard/settings.py"
Data type: Hash
Defaults to an empty hash '{}'. Used to pass in arbitrary key/value
Default value: {}
Data type: Variant[Array[String[1]], String[1]]
Sets the Apache AllowOverride value
Default value: ['None']
Data type: Boolean
Whether to enable LDAP auth
Default value: false
Data type: Boolean
LDAP group to require on login
Default value: false
Data type: Stdlib::Absolutepath
path to the apache2 vhost directory
Data type: String[1]
name of the apache2 service
Data type: Optional[String[1]]
used for CSRF prevention and more. It should be a long, secret string, the same for all instances of the app. Required since Puppetboard 5.0.0.
Default value: undef
Creates an entry in your apache configuration directory to run PuppetBoard server-wide (i.e. not in a vhost).
- Note Make sure you have purge_configs set to false in your apache class!
The following parameters are available in the puppetboard::apache::conf
class:
wsgi_alias
threads
max_reqs
user
group
basedir
enable_ldap_auth
ldap_bind_dn
ldap_bind_password
ldap_url
ldap_bind_authoritative
ldap_require_group
ldap_require_group_dn
virtualenv_dir
Data type: Stdlib::Unixpath
WSGI script alias source
Default value: '/puppetboard'
Data type: Integer[1]
Number of WSGI threads to use
Default value: 5
Data type: Integer[0]
Limit on number of requests allowed to daemon process Defaults to 0 (no limit)
Default value: 0
Data type: String[1]
WSGI daemon process user, and daemon process name
Default value: $puppetboard::user
Data type: String[1]
WSGI daemon process group owner, and daemon process group
Default value: $puppetboard::group
Data type: Stdlib::AbsolutePath
Base directory where to build puppetboard vcsrepo and python virtualenv.
Default value: $puppetboard::basedir
Data type: Boolean
Whether to enable LDAP auth
Default value: $puppetboard::enable_ldap_auth
Data type: Optional[String[1]]
LDAP Bind DN
Default value: undef
Data type: Optional[String[1]]
LDAP password
Default value: undef
Data type: Optional[String[1]]
LDAP connection string
Default value: undef
Data type: Optional[String[1]]
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot bind with the credentials
Default value: undef
Data type: Boolean
LDAP group to require on login
Default value: $puppetboard::ldap_require_group
Data type: Optional[String[1]]
LDAP group DN for LDAP group
Default value: undef
Data type: Stdlib::Absolutepath
Set location where virtualenv will be installed
Default value: $puppetboard::virtualenv_dir
Sets up an apache::vhost to run PuppetBoard, and writes an appropriate wsgi.py from template
The following parameters are available in the puppetboard::apache::vhost
class:
vhost_name
wsgi_alias
ip
port
ssl
ssl_cert
ssl_key
ssl_chain
threads
user
group
basedir
override
enable_ldap_auth
ldap_bind_dn
ldap_bind_password
ldap_url
ldap_bind_authoritative
ldap_require_group
ldap_require_group_dn
virtualenv_dir
custom_apache_parameters
Data type: String[1]
The vhost ServerName.
Data type: Stdlib::Unixpath
WSGI script alias source
Default value: '/'
Data type: Optional[Stdlib::IP::Address]
IP for the vhost to bind to
Default value: undef
Data type: Stdlib::Port
Port for the vhost to listen on.
Default value: 5000
Data type: Boolean
If vhost should be configured with ssl
Default value: false
Data type: Optional[Stdlib::AbsolutePath]
Path to server SSL cert
Default value: undef
Data type: Optional[Stdlib::AbsolutePath]
Path to server SSL key
Default value: undef
Data type: Optional[Stdlib::AbsolutePath]
Path to server CA Chain file
Default value: undef
Data type: Integer[1]
Number of WSGI threads to use.
Default value: 5
Data type: String[1]
WSGI daemon process user, and daemon process name
Default value: $puppetboard::user
Data type: String[1]
WSGI daemon process group owner, and daemon process group
Default value: $puppetboard::group
Data type: Stdlib::AbsolutePath
Base directory where to build puppetboard vcsrepo and python virtualenv.
Default value: $puppetboard::basedir
Data type: Variant[Array[String[1]], String[1]]
Sets the Apache AllowOverride value
Default value: $puppetboard::override
Data type: Boolean
Whether to enable LDAP auth
Default value: $puppetboard::enable_ldap_auth
Data type: Optional[String[1]]
LDAP Bind DN
Default value: undef
Data type: Optional[String[1]]
LDAP password
Default value: undef
Data type: Optional[String[1]]
LDAP connection string
Default value: undef
Data type: Optional[String[1]]
Determines if other authentication providers are used when a user can be mapped to a DN but the server cannot bind with the credentials
Default value: undef
Data type: Boolean
LDAP group to require on login
Default value: $puppetboard::ldap_require_group
Data type: Optional[String[1]]
LDAP group DN for LDAP group
Default value: undef
Data type: Stdlib::Absolutepath
Set location where virtualenv will be installed
Default value: $puppetboard::virtualenv_dir
Data type: Hash
A hash passed to the apache::vhost
for custom settings
Default value: {}
type for the different Python log levels
Alias of Enum['debug', 'info', 'notice', 'warning', 'err', 'crit', 'alert', 'emerg']