@daenney would rather have the footer reference the Puppet Community organization
than completing removing this bar.
Also adding a reference in README.rst about the available Google Group
Moving the envs variable out of the functions scope to the global scope,
this enables each function to reference and use these values.
Adding a new function check_env() to standardize the way to ensure that
the request environment exists, if it doesn't then abort with a 404.
This reduces 16 blocks of code and is in line with @daenney's suggestions
This bar reduces the available vertical space and other maintainers feel
it better to remove it than to modify it.
Also reducing the specific mention of @daenney from README.rst since he
has steped down as main project maintainer.
b4f74e240d
Making catalog tables searchable
7a8ddde6ca
Navbar style/naming simplifications
e8fea997fd
Creating Semantic UI Menu for environment switching instead of select menu
Make Puppetboard work with the PuppetDB V4 api
This PR just enables the basic functionality of PuppetBoard with the new PyPuppetDB version. https://github.com/puppet-community/puppetboard/pull/176 includes this work as well as other work to make better utilization of the new library
Some excerpts from CHANGELOG.rst include:
- Increasing the pypuppetdb requirements from 0.1.x to 0.2.x
- The Reports page now lists reports from the reports endpoint instead of
a link to a PuppetDB issue with a feature request
- Adding a Catalogs page to view either individual node catalogs or compare
them against other nodes
- New environment awareness adds a new query parameter to all applicable
endpoints to filter results based on the current environment. If the
default environment 'production' is not available, or any other unavailable
environment, the user is redirected to the first known environment.
- Adding pagination functionality for reports (for now) based on the value of
the REPORTS_COUNT configuration option (used for the limit and the offset
calculation). Implementation also makes it possible for other UI enhancements.
- Removing the limit_reports function from puppetboard/utils.py since paging
parameters are now accepted by the pypuppetdb endpoint functions.
- Bumping the version to 0.1.0
In addition to requiring pypuppet in versions less than 0.2.0 we also need versions greater than or equal to 0.1.0 because they support the Query API v3.
"Skips" were highlighted with orange on one page and yellow on another. This change makes them consistent, and switches the color to "black" for accessibility reasons. (The contrast between the shades of orange and red used for skips and errors was *very* low. Indistinguishable on some screens.)
A new endpoint in the header, Catalogs, takes the user to a page with a node
table similar to that in the nodes page. This table shows the node with a
link to the node page, the catalog timestamp with a link to the catalog
page and a small form with a select field to be used to compare the
catalog of this row's node with that of another node.
Instead of querying PuppetDB for every fact that it knows about only
querying it for the fact names that it knows about. The result is a
much smaller result set that is more noticable on environments with
large numbers of nodes and/or facts.
On one environment with > 2500 fact-names and 35 nodes a curl test
to the facts endpoint without any query string returned in ~3.5 seconds.
Ran another curl test to the facts endpoint with the query string that
the code in this commit creates, the command finished in ~0.040 seconds.
This makes use of the available catalog endpoints in pypuppetdb and PuppetDB
and displays to administrators the last compiled catalog for a node,
if the variable ENABLE_CATALOG is True (defaults to False)