Skip to content

DanskSupermarked/puppet-puppetboard

Repository files navigation

Install and Manage Puppetboard

Build Status

Features

  • Installs Puppetboard with the high performance WSCGI server Gunicorn and Gevent.
  • Manages Puppetboard as a Service resource with Supervisor.

About

Why this and not another one?

Simplicity.

All dependencies to install Puppetboard in a production ready state can be installed with Puppet Package resources thanks to pip. This module only has one Puppet module dependency, inifile which is an official module from Puppet.

You can expose Puppetboard as is or configure Apache/Nginx/HA Proxy in front of it with its own dedicated Puppet module.

Nginx Reverse Proxy

If you need to add HTTPS, ACL, caching or wish to serve static files faster, you can use a reverse proxy.

Here are some example Nginx location resources in Hiera for the Nginx Puppet module.

  "puppetboard": {
    "location": "/",
    "location_cfg_append": {
      "add_header": "Access-Control-Allow-Origin *"
    },
    "proxy": "http://localhost:9090",
    "ssl": true,
    "ssl_only": true,
    "vhost": "%{::fqdn}"
  },
  "puppetboard_static": {
    "location": "/static",
    "location_alias": "/usr/lib/python2.7/site-packages/puppetboard/static",
    "ssl": true,
    "ssl_only": true,
    "vhost": "%{::fqdn}"
  },
  "puppetdb": {
    "location": "~  ^/(metrics|pdb)",
    "index_files": [
      "index.html"
    ],
    "proxy": "http://localhost:8080",
    "ssl": true,
    "ssl_only": true,
    "vhost": "%{::fqdn}"
  },
  "puppetdb_api": {
    "location": "~ ^/api/(.*)",
    "proxy": "http://localhost:8080/$1",
    "ssl": true,
    "ssl_only": true,
    "vhost": "%{::fqdn}"
  }

TODO

  • Add Puppetboard settings array param (such as graph for fact).

About

Configure Puppetboard with Gunicorn and Supervisor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published