Commit Graph

445 Commits

Author SHA1 Message Date
Mike Terzo
5a12c08d2f Metrics can appear as paths, if these paths are passed
to Flask, it 500's
2017-01-26 17:32:24 -05:00
Mike Terzo
8b883b32f8 Adding new table settings to docker_settings 2017-01-26 13:53:29 -05:00
Mike Terzo
ebab9ccdbc Adding noop map from metrics 2017-01-26 13:52:55 -05:00
Mike Terzo
4f50811142 Adding first test case for report 2017-01-26 04:35:58 -05:00
Mike Terzo
86fe05f5f9 Adding default values to parameters 2017-01-26 04:25:32 -05:00
Mike Terzo
680ee0e217 Following the format of all the other app.route definitions 2017-01-26 04:24:53 -05:00
Mike Terzo
7943414691 Use the data that's provided by reports.metrics instead
of calling the API again
2017-01-26 01:25:34 -05:00
Mike Terzo
144f772141 Merge pull request #332 from voxpupuli/travis
add python36 to travis
2017-01-25 16:46:51 -05:00
Tim Meusel
e88ae16846 add python36 to travis 2017-01-25 22:41:25 +01:00
redref
103eaa8843 Paging - fix empty list 2017-01-25 22:38:12 +01:00
redref
c1b1badc96 Paging - Revamp tables with Jquery Datatables (Ajax) 2017-01-25 18:07:55 +01:00
Mike Terzo
7febd925e7 Merge pull request #328 from redref/zip_safe
Setup.py : zip_safe to permit static serve
2017-01-24 02:37:36 -05:00
Tim Meusel
38b1e9fe06 Merge pull request #326 from mterzo/better_testing
Flask testing.
2017-01-24 06:58:22 +01:00
Mike Terzo
caadaa0b35 Test index with division by zero
Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 19:54:00 -05:00
Mike Terzo
86488280c9 Test error conditions.
Fix 412 template to use standard styling that the other 400 templates use.
Update forbidden error to return status code 403 instead of 400.

Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 19:53:55 -05:00
Mike Terzo
2e4acc3e3f Adding radiator json testing
Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 19:53:52 -05:00
Mike Terzo
0570372d97 Testing pretty print produces good html
Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 19:53:48 -05:00
Mike Terzo
0d1fbcee88 Adding tests for node list
Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 19:53:45 -05:00
Mike Terzo
7cebe56fc4 Adding testing for all environments
Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 19:53:41 -05:00
Mike Terzo
e2c45648b9 Removing whitespace from classes in radiator view
Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 19:53:33 -05:00
Mike Terzo
fb6b8d2c0e Adding testing for radiator view.
Signed-off-by: Mike Terzo <mike@terzo.org>
2017-01-23 18:14:52 -05:00
Mike Terzo
c729b4d88d Adding testing for Puppetboard app using flask client.
Adding offline / online mode testing for validation.

This is the start of adding a ton of tests with the start
to mocking for pypupppetdb
2017-01-23 18:06:53 -05:00
Mike Terzo
0e712da71f Closing html tags for links properly 2017-01-23 18:06:53 -05:00
Mike Terzo
ff409c5f6d Adding coverage for invalid log setting 2017-01-23 18:06:52 -05:00
Mike Terzo
7302dbecec Convert Unit tests to use py.test format 2017-01-23 18:06:49 -05:00
Robert Fletcher
333347d113 Radiator JSON output (#329)
Json output from radiator when Accept header is application/json
2017-01-23 16:15:18 -05:00
Joris Dedieu
9fe0f091f3 catch a division by zero in radiator while environment has no nodes (#325)
* catch a division by zero in radiator while environment has no nodes
2017-01-05 15:51:38 -05:00
Mike Terzo
4938644593 Merge pull request #327 from raphink/docker_puppetdb_default
Use puppetdb as PUPPETDB_HOST on Docker
2017-01-05 15:31:31 -05:00
Raphaël Pinson
df91efff33 Use puppetdb as PUPPETDB_HOST on Docker
This allows to plug and play a PuppetDB container (or use extra host)
2017-01-05 12:54:31 +01:00
sacres
fdc6b00525 Merge pull request #310 from mterzo/docker_env
Default settings use environment variables
2017-01-03 00:42:44 -05:00
redref
5ef7c66377 Setup.py : zip_safe to permit static serve 2017-01-01 21:26:37 +01:00
Mike Terzo
803178053b Merge pull request #324 from mterzo/doc_update
Updating documentation for secret_key
2016-12-19 20:42:35 -05:00
Mike Terzo
65d9abc749 Updating documentation for secret_key 2016-12-19 16:28:28 -05:00
Mike Terzo
b96e76ff10 Use alpine python and gunicorn
Adding docker_settings.py which reads environment variables
to allows for environment variable to be passed to the
container
2016-12-19 15:54:32 -05:00
Mike Terzo
72a194c82e Update default_settings to use environment variables.
Easier environment configuration when using docker to
run puppetboard.
2016-12-19 13:48:34 -05:00
Mike Terzo
1966c1d31d Merge pull request #318 from ts-mini/fixing-width-radiator
radiator column width to percent
2016-12-19 00:18:09 -05:00
Mike Terzo
7c889d5b2e Merge pull request #311 from manuq/dailycharts
Dailycharts
2016-12-18 23:40:02 -05:00
Mike Terzo
0e3b4d230e Merge pull request #309 from alchemyx/patch-1
Update README.rst
2016-12-18 23:30:44 -05:00
Peter Souter
654af73914 Merge pull request #320 from roidelapluie/bandit
[Security] Implement bandit
2016-12-14 16:05:31 +00:00
Julien Pivotto
6fa0a4a796 [Security] Implement bandit
Bandit (https://github.com/openstack/bandit) is a python
security linter.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2016-12-07 10:05:34 +01:00
Tyler Horvath
4d744b902f radiator column width to percent
>1000 nodes causing clipping with 1.75em width
2016-12-02 13:57:34 -07:00
Manuel Quiñones
08e214ec15 Overview, Node pages: Add bar chart of daily runs
The Overview will display a bar chart of daily runs, categorized by
report status (changed, unchanged, failed).

The chart data is loaded asynchronously from JSON so it doesn't provoke
a delay in the page load. The data is JSON enconded.

This feature was in the original Puppet Dashboard.  The change was
proposed and discussed in issue #308 .

Application changes:

- app.py: New view daily_reports_chart to serve the chart data as JSON.

- dailychart.py: Submodule to query and format the chart data.

Template changes:

- layout.html: New block to add more elements to the HTML header.

- index.html, node.html: Add C3 CSS in header block, add DIV placeholder
  for the chart in content block, add dailychart.js (and dependencies)
  in script block.

Settings:

- DAILY_REPORTS_CHART_ENABLED: New setting to turn off the charts. By
  default is on.

- DAILY_REPORTS_CHART_DAYS: Changes the range of days to display in the
  charts.

Javascript changes:

- dailychart.js: New script that loads the JSON data for the chart and
  calls C3 to generate a bar chart.

CSS changes:

- puppetboard.css: Set fixed height to the chart container to avoid a
  page resize after the chart is loaded.
2016-10-26 16:39:03 -03:00
Manuel Quiñones
68ef8ac0da Upgrade c3.js to 0.4.11 and add corresponding CSS
The bar charts in next commit look wrong without CSS for c3.js .
2016-10-25 13:46:41 -03:00
Michał Margula
1897a4393f Update README.rst
There is no random in os module, changed to urandom (same as in default_setttings), also fixed path in example apache config.
2016-10-22 10:51:52 +02:00
Mike Terzo
3fbd182453 Adding unittests (#300)
* Create a custom class to handle aborting 204 properly.  If this isn't
covered the server will send a 500 due to a python exception

* Moved py.test configuration under tool:pytest, this was causing a
warning.  This is new to 3.0.1 which is now the pinned version

* Unittest for puppetboard.utils
2016-09-11 21:01:13 -04:00
Corey Hammerton
dffd42af1d puppetboard/templates/metrics.html: Added searchability to the Metrics list (#298)
This resolves #297

Adding a search bar to the Metrics page to allow the user to filter the list
items to only show what the user wants.
2016-09-03 17:11:40 -04:00
Corey Hammerton
df3d4a5eaa puppetboard/app.py: Adding an environment filter for displaying Fact names (#295)
This resolves #276

Current behaviour of the Facts page would query the fact_names endpoint
regardless of environment. This update would query the Facts endpoint,
extracting each unique fact name known to the environment.
2016-09-03 17:11:28 -04:00
Alejandro Figueroa
c585251862 Change hostname to certname where applicable (#294)
Certain column headers were referring to a node's certname as its
hostname. This commit corrects that by renaming the column headers.
2016-09-03 17:11:03 -04:00
Corey Hammerton
43526279e0 puppetboard/templates/layout.html: Displaying the current active environment as the dropdown label (#291)
This fixed #290

To help make it more obvious for users to see what the current environment
is replacing the original text of the Environments dropdown menu from
'Environments' to the current environment.

The other suggestion was to make the active item stand out more but that
would require custom CSS that may conflict with the Sementic UI.
2016-09-03 17:10:46 -04:00
Corey Hammerton
5048662861 puppetboard/app.py: Simplifying the Inventory Code (#289)
* puppetboard/app.py: Simplifying the code generating and rendering the Inventory

This resolves #275

This update eliminates one iteration over the resulting inventory facts
that generates a multidimensional dictionary keyed by the node's certname
to another dictionary of key-value pairs of the fact name and fact value.

* puppetboard/templates/inventory.html: Wrapping the fact values in links to the Node page

This comes as a request from #280
2016-09-03 17:10:33 -04:00