Skip to content

Latest commit

 

History

History
775 lines (432 loc) · 19.7 KB

REFERENCE.md

File metadata and controls

775 lines (432 loc) · 19.7 KB

Reference

Table of Contents

Classes

  • 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

Data types

Classes

puppetboard

class { 'puppetboard': user => 'pboard', group => 'pboard', basedir => '/www/puppetboard' } -> class { 'puppetboard::apache::conf': user => 'pboard', group => 'pboard', basedir => '/www/puppetboard' }

Examples

configure puppetboard with an apache config for a subpath (http://$fqdn/puppetboard)

Parameters

The following parameters are available in the puppetboard class:

install_from

Data type: Enum['package', 'pip', 'vcsrepo']

Specify how the app should be installed

Default value: 'pip'

user

Data type: String

Puppetboard system user.

Default value: 'puppetboard'

homedir

Data type: Optional[Stdlib::Absolutepath]

Puppetboard system user's home directory.

Default value: undef

group

Data type: String

Puppetboard system group.

Default value: 'puppetboard'

groups

Data type: Optional[Variant[String[1], Array[String[1]]]]

additional groups for the user that runs puppetboard

Default value: undef

basedir

Data type: Stdlib::AbsolutePath

Base directory where to build puppetboard vcsrepo and python virtualenv.

Default value: '/srv/puppetboard'

git_source

Data type: String

Location of upstream Puppetboard GIT repository

Default value: 'https://github.com/voxpupuli/puppetboard'

puppetdb_host

Data type: String

PuppetDB Host

Default value: '127.0.0.1'

puppetdb_port

Data type: Stdlib::Port

PuppetDB Port

Default value: 8080

puppetdb_key

Data type: Optional[Stdlib::AbsolutePath]

path to PuppetMaster/CA signed client SSL key

Default value: undef

puppetdb_ssl_verify

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

puppetdb_cert

Data type: Optional[Stdlib::AbsolutePath]

path to PuppetMaster/CA signed client SSL cert

Default value: undef

puppetdb_timeout

Data type: Integer[0]

timeout, in seconds, for connecting to PuppetDB

Default value: 20

unresponsive

Data type: Integer[0]

number of hours after which a node is considered "unresponsive"

Default value: 3

enable_catalog

Data type: Boolean

Whether to allow the user to browser catalog comparisons.

Default value: false

enable_query

Data type: Boolean

Whether to allow the user to run raw queries against PuppetDB.

Default value: true

offline_mode

Data type: Boolean

Weather to load static assents (jquery, semantic-ui, tablesorter, etc)

Default value: false

localise_timestamp

Data type: Boolean

Whether to localise the timestamps in the UI.

Default value: true

python_loglevel

Data type: Puppetboard::Syslogpriority

Python logging module log level.

Default value: 'info'

python_proxy

Data type: Optional[String[1]]

HTTP proxy server to use for pip/virtualenv.

Default value: undef

python_index

Data type: Optional[String[1]]

HTTP index server to use for pip/virtualenv.

Default value: undef

python_systempkgs

Data type: Boolean

Python system packages available in virtualenv.

Default value: false

default_environment

Data type: String[1]

set the default environment

Default value: 'production'

revision

Data type: Optional[String]

Commit, tag, or branch from Puppetboard's Git repo to be used

Default value: undef

version

Data type: Variant[Enum['latest'], String[1]]

PyPI package version to be installed

Default value: 'latest'

use_pre_releases

Data type: Boolean

if version is set to 'latest', then should pre-releases be used too?

Default value: false

manage_git

Data type: Boolean

If true, require the git package. If false do nothing.

Default value: false

manage_virtualenv

Data type: Boolean

If true, require the virtualenv package. If false do nothing.

Default value: false

python_version

Data type: Pattern[/^3\.\d+$/]

Python version to use in virtualenv.

virtualenv_dir

Data type: Stdlib::Absolutepath

Set location where virtualenv will be installed

Default value: "${basedir}/virtenv-puppetboard"

manage_user

Data type: Boolean

If true, manage (create) this group. If false do nothing.

Default value: true

manage_group

Data type: Boolean

If true, manage (create) this group. If false do nothing.

Default value: true

package_name

Data type: Optional[String[1]]

Name of the package to install puppetboard

Default value: undef

manage_selinux

Data type: Boolean

If true, manage selinux policies for puppetboard. If false do nothing.

Default value: pick($facts['os.selinux.enabled'], false)

reports_count

Data type: Integer[0]

This is the number of reports that we want the dashboard to display.

Default value: 10

settings_file

Data type: Stdlib::Absolutepath

Path to puppetboard configuration file

Default value: "${basedir}/puppetboard/settings.py"

extra_settings

Data type: Hash

Defaults to an empty hash '{}'. Used to pass in arbitrary key/value

Default value: {}

override

Data type: Variant[Array[String[1]], String[1]]

Sets the Apache AllowOverride value

Default value: ['None']

enable_ldap_auth

Data type: Boolean

Whether to enable LDAP auth

Default value: false

ldap_require_group

Data type: Boolean

LDAP group to require on login

Default value: false

apache_confd

Data type: Stdlib::Absolutepath

path to the apache2 vhost directory

apache_service

Data type: String[1]

name of the apache2 service

secret_key

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

puppetboard::apache::conf

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!

Parameters

The following parameters are available in the puppetboard::apache::conf class:

wsgi_alias

Data type: Stdlib::Unixpath

WSGI script alias source

Default value: '/puppetboard'

threads

Data type: Integer[1]

Number of WSGI threads to use

Default value: 5

max_reqs

Data type: Integer[0]

Limit on number of requests allowed to daemon process Defaults to 0 (no limit)

Default value: 0

user

Data type: String[1]

WSGI daemon process user, and daemon process name

Default value: $puppetboard::user

group

Data type: String[1]

WSGI daemon process group owner, and daemon process group

Default value: $puppetboard::group

basedir

Data type: Stdlib::AbsolutePath

Base directory where to build puppetboard vcsrepo and python virtualenv.

Default value: $puppetboard::basedir

enable_ldap_auth

Data type: Boolean

Whether to enable LDAP auth

Default value: $puppetboard::enable_ldap_auth

ldap_bind_dn

Data type: Optional[String[1]]

LDAP Bind DN

Default value: undef

ldap_bind_password

Data type: Optional[String[1]]

LDAP password

Default value: undef

ldap_url

Data type: Optional[String[1]]

LDAP connection string

Default value: undef

ldap_bind_authoritative

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

ldap_require_group

Data type: Boolean

LDAP group to require on login

Default value: $puppetboard::ldap_require_group

ldap_require_group_dn

Data type: Optional[String[1]]

LDAP group DN for LDAP group

Default value: undef

virtualenv_dir

Data type: Stdlib::Absolutepath

Set location where virtualenv will be installed

Default value: $puppetboard::virtualenv_dir

puppetboard::apache::vhost

Sets up an apache::vhost to run PuppetBoard, and writes an appropriate wsgi.py from template

Parameters

The following parameters are available in the puppetboard::apache::vhost class:

vhost_name

Data type: String[1]

The vhost ServerName.

wsgi_alias

Data type: Stdlib::Unixpath

WSGI script alias source

Default value: '/'

ip

Data type: Optional[Stdlib::IP::Address]

IP for the vhost to bind to

Default value: undef

port

Data type: Stdlib::Port

Port for the vhost to listen on.

Default value: 5000

ssl

Data type: Boolean

If vhost should be configured with ssl

Default value: false

ssl_cert

Data type: Optional[Stdlib::AbsolutePath]

Path to server SSL cert

Default value: undef

ssl_key

Data type: Optional[Stdlib::AbsolutePath]

Path to server SSL key

Default value: undef

ssl_chain

Data type: Optional[Stdlib::AbsolutePath]

Path to server CA Chain file

Default value: undef

threads

Data type: Integer[1]

Number of WSGI threads to use.

Default value: 5

user

Data type: String[1]

WSGI daemon process user, and daemon process name

Default value: $puppetboard::user

group

Data type: String[1]

WSGI daemon process group owner, and daemon process group

Default value: $puppetboard::group

basedir

Data type: Stdlib::AbsolutePath

Base directory where to build puppetboard vcsrepo and python virtualenv.

Default value: $puppetboard::basedir

override

Data type: Variant[Array[String[1]], String[1]]

Sets the Apache AllowOverride value

Default value: $puppetboard::override

enable_ldap_auth

Data type: Boolean

Whether to enable LDAP auth

Default value: $puppetboard::enable_ldap_auth

ldap_bind_dn

Data type: Optional[String[1]]

LDAP Bind DN

Default value: undef

ldap_bind_password

Data type: Optional[String[1]]

LDAP password

Default value: undef

ldap_url

Data type: Optional[String[1]]

LDAP connection string

Default value: undef

ldap_bind_authoritative

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

ldap_require_group

Data type: Boolean

LDAP group to require on login

Default value: $puppetboard::ldap_require_group

ldap_require_group_dn

Data type: Optional[String[1]]

LDAP group DN for LDAP group

Default value: undef

virtualenv_dir

Data type: Stdlib::Absolutepath

Set location where virtualenv will be installed

Default value: $puppetboard::virtualenv_dir

custom_apache_parameters

Data type: Hash

A hash passed to the apache::vhost for custom settings

Default value: {}

Data types

Puppetboard::Syslogpriority

type for the different Python log levels

Alias of Enum['debug', 'info', 'notice', 'warning', 'err', 'crit', 'alert', 'emerg']