The Puppet Dashboard is a web interface providing node classification and reporting features for Puppet, an open source system configuration management tool
Puppet Dashboard is a web interface for Puppet. It can view and analyze Puppet reports, assign Puppet classes and parameters to nodes, and view inventory data and backed-up file contents.
| Format Version | Puppet Version | Dashboard Version | |-----------------|----------------|-------------------| | 0 | 0.25.x | >= 1.0.0 | | 1 | 2.6.0 - 2.6.4 | >= 1.0.0 | | 2 | 2.6.5 - 2.7.11 | >= 1.0.0 | | 3 | 2.7.13 - 3.2.4 | >= 1.0.0 | | 4 | 3.3.0 - 4.3.2 | >= 2.0.0 | | 5 | 4.4.0 - 4.5.3 | >= 3.0.0 | | 6 | 4.6.0 - 4.10.x | >= 3.0.0 | | 7 | 5.0.0 - 5.3.x | >= 3.0.0 | | 8 | 5.4.0 - 5.4.x | >= 3.0.0 | | 9 | 5.5.0 - 5.5.x | >= 3.0.0 |
Future Puppet Report formats may work automatically if no required fields are removed. If there is a new Format available which is not yet supported please let us know by creating a new issue.
apt-get install git libmysqlclient-dev libpq-dev libsqlite3-dev ruby-dev libxml2-dev libxslt-dev nodejs
cd /usr/share && \ git clone https://github.com/sodabrew/puppet-dashboard.git && \ cd puppet-dashboard
mysql -p -e"CREATE DATABASE dashboard_production CHARACTER SET utf8;" && \ mysql -p -e"CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'my_password';" && \ mysql -p -e"GRANT ALL PRIVILEGES ON dashboard_production.* TO 'dashboard'@'localhost';"
max_allowed_packet = 32Min your MySQL configuration
vim /etc/mysql/my.cnf
config/settings.ymland
config/database.ymlfiles.
cp config/settings.yml.example config/settings.yml && \ cp config/database.yml.example config/database.yml && \ vim config/database.yml
gem install bundler && \ bundle install --deployment
export SECRET_KEY_BASE=$(bundle exec rails secret)or follow the instructions in config/secrets.yml to setup an encrypted secret.
RAILS_ENV=production bundle exec rake db:setup && \ RAILS_ENV=production bundle exec rake assets:precompile
RAILS_ENV=production bundle exec rails server
ext/debian
Dashboard is currently configured to serve static assets when
RAILS_ENV=production. In high-traffic environments, you may wish to farm this out to Apache or nginx. Additionally, you must explicitly precompile assets for production using:
SECRET_KEY_BASE=none RAILS_ENV=production bundle exec rails assets:precompile
Dashboard will keep all reports in the database. If your infrastructure is big the database will eventually become very large (more than 50GB). To periodically purge old reports (~ once per day) and optimize the database tables (~ once per month) it is recommended to run the following tasks periodically:
SECRET_KEY_BASE=none RAILS_ENV=production bundle exec rails reports:prune upto=20 unit=day
SECRET_KEY_BASE=none RAILS_ENV=production bundle exec rails db:raw:optimize
The Puppet Dashboard manual is an extracted version of the Puppet Dashboard documentation which was hosted on the Puppetlabs homepage.
To contribute to this project, please read CONTRIBUTING. A list of contributors is found in CONTRIBUTORS. Thanks! This project uses the Silk icons by Mark James. Thank you!