This is the changelog for Puppetboard.
- Full support for PuppetDB 4.x
- Updating Semantic UI to 2.1.8
- Updating Flask-WTF requirements to 0.12
- Updating WTForms to 2.x
- Restored CSRF protection on the Query Tab form
- Updating Pypuppetdb requirement to 0.3.x
- New configuration option OVERVIEW_FILTER allows users to add custom PuppetDB query clauses to include/exclude nodes displayed on the index page
- Adding Radiator view similar to what is available in Puppet Dashboard
- Adding a drop-down list in the Reports tab to configure the number of reports displayed
- Removing unneeded report_latest() endpoint. This endpoint was deprecated with the addition of the latest_report_hash field in the Nodes PuppetDB endpoint
- Enhancing Report pagination
- Using the OOP Query Builder available in Pypuppetdb 0.3.x
- Allowing PQL queries in the Query Tab
- Fixing double url-quoting bug on Metric endpodint calls
- Adding a Boolean field to the Query form to prettyprint responses from PuppetDB
- Fixing corner-case where empty environments would trigger a ZeroDivisionError due to the Number of Nodes divided by the Number of Resources calculation
- Adding additional logging in utils.py
- Add configuration option to set the default environment with new configuration option DEFAULT_ENVIRONMENT, defaults to 'production'.
- Loading all available environments with every page load.
- Adding an "All Environments" item to the Environments dropdown to remove all environment filters on PuppetDB data.
- Updating README.rst to update links and describe new configuration options.
- Fixing Query form submission problem by disabling CSRF protection. Needs to be re-implemented.
- Updating the pypuppetdb requirement to >= 0.2.1, using information available in PuppetDB 3.2 and higher
- ** latest_report_hash and latest_report_status fields from the Nodes
- endpoint, this effectively deprecates the report_latest() function
** code_id from the Catalogs endpoint (current unused) * Adding a automatic refresh on the overview page to reload the page
every X number of seconds, defaults to 30. This is configurable with the configuration option REFRESH_RATE
- Fixing the table alignment in the catalog_compare() page by switching to fixed tables from basic tables.
- Using colors similar to Puppet Dashboard and Foreman for the status counts sections
- Fix bug where the reports template was not generating the report links with the right environment
- Requires pypuppetdb >= 0.2.0
- Drop support for PuppetDB 2 and earlier
- Full support for PuppetDB 3.x
- The first directory location is now a Puppet environment which is filtered on all supported queries. Users can browse different environments with a select field in the top NavBar
- Using limit, order_by and offset parameters adding pagaination on the Reports page (available in the NavBar). Functionality is available to pages that accept a page attribute.
- The report page now directly queries pypuppetdb to match the report_id value with the report hash or configuration_version fields.
- Catching and aborting with a 404 if the report and report_latest function queries do not return a generator object.
- Adding a Catalogs page (similar to the Nodes page) with a form to compare one node's catalog information with that of another node.
- Updating the Query Endpoints for the Query page.
- Adding to
templates/_macros.html
status_counts that shows node/report status information, like what is avaiable on the index and nodes pages, available to the reports pages and tables also. - Showing report logs and metrics in the report page.
- Removing
limit_reports
fromutils.py
because this helper function has been replaced by the limit PuppetDB paging function.
Known Issues
- fact_value pages rendered from JSON valued facts return no results. A more sophisticated API is required to make use of JSON valued facts (through the factsets, fact-paths and/or fact-contents endpoints for example)
- Now requires WTForms versions less than 2.0
- Adding a Flask development server in
dev.py
. - Adding CSRF protection VIA the flask_wtf CsrfProtect object.
- Allowing users to configure the report limit on pages where reports are listed with the LIMIT_REPORTS configuration option.
- Adding an inventory page to users to be able to see all available nodes and a configure lists of facts to display VIA the INVENTORY_FACTS configuration option.
- Adding a page to view a node's catalog information if enabled, disabled by default. Can be changed with the ENABLE_CATALOG configuration attribute.
- New configuration option GRAPH_FACTS allows the user to choose which graphs will generate pie on the fact pages.
- Replacing Chart.js with c3.js and d3.js.
- Adding Semantic UI 0.16.1 and removing unused bootstrap styles.
- Adding an OFFLINE_MODE configuration option to load local assets or from a CDN service. This is useful in environments without internet access.
- Fix the sorting of the different tables containing facts.
- Fix the license in our
setup.py
. The license shouldn't be longer than 200 characters. We were including the full license tripping up tools like bdist_rpm.
This release introduces a few big changes. The most obvious one is the revamped Overview page which has received significant love. Most of the work was done by Julius Härtl. The Nodes tab has been given a slight face-lift too.
Other changes:
- This release depends on the new pypuppetdb 0.1.0. Because of this the SSL
configuration options have been changed:
PUPPETDB_SSL
is gone and replaced byPUPPETDB_SSL_VERIFY
which now defaults toTrue
. This only affects connections to PuppetDB that happen over SSL.- SSL is automatically enabled if both
PUPPETDB_CERT
andPUPPETDB_KEY
are provided.
- Display of deeply nested metrics and query results have been fixed.
- Average resources per node metric is now displayed as a natural number.
- A link back to the node has been added to the reports.
- A few issues with reports have been fixed.
- A new setting called
UNRESPONSIVE_HOURS
has been added which denotes the amount of hours after which Puppetboard will display the node as unreported if it hasn't checked in. We default to2
hours. - The event message can now be viewed by clicking on the event.
Puppetboard is now neatly packaged up and available on PyPi. This should significantly help reduce the convoluted installation instructions people had to follow.
Updated installation instructions have been added on how to install from PyPi and how to configure your HTTPD.
In this release we've introduced a few new things. First of all we now require pypuppetdb version 0.0.4 or later which includes support for the v3 API introduced with PuppetDB 1.5.
Because of changes in PuppetDB 1.5 and therefor in pypuppetdb users of the v2 API, regardless of the PuppetDB version, will no longer be able to view reports or events.
In light of this the following settings have been removed:
PUPPETDB_EXPERIMENTAL
Two new settings have been added:
PUPPETDB_API
: an integer, defaulting to3
, representing the API version we want to use.ENABLE_QUERY
: a boolean, defaulting toTrue
, on wether or not to be able to use the Query tab.
We've also added a few new features:
- Thanks to some work done during PuppetConf together with Nick Lewis (from Puppet Labs) we now expose all of PuppetDB's metrics in the Metrics tab. The formatting isn't exactly pretty but it's a start.
- Spencer Krum added the graphing capabilities to the Facts tab.
- Daniel Lawrence added a feature so that facts on the node view are clickable and take you to the complete overview of that fact for your infrastructure and made the nodes in the complete facts list clickable so you can jump to a node.
- Klavs Klavsen contributed some documentation on how to run Puppetboard with Passenger.
Initial release.