Clark Boylan 757e2d24c8 Migrate grafyaml container images to quay.io
This migrates the published container images to quay.io. We also update
the source of the python base image to quay.io.

Three tox.ini changes are made. The first is to stop skipping sdists
which skips all installation of the software entirely. This prevents
AUTHORS file generation which breaks the docs build. We also need to
stop using develop installs to ensure AUTHORS files get generated.
Third we replace the setup.py build_sphinx command with sphinx-build as
setup.py commands are deprecated and don't work properly with modern
setuptools.

Depends-On: https://review.opendev.org/c/opendev/system-config/+/881932
Change-Id: Ia738ee9553368464dc498e4e04e1389c6dfbb969
2023-05-08 10:33:18 -07:00
2020-06-25 15:04:14 +10:00
2022-03-11 13:38:45 +11:00
2019-04-19 19:26:03 +00:00
2015-05-04 13:14:07 -04:00
2015-05-04 13:14:07 -04:00
2015-05-04 13:14:07 -04:00
2015-05-04 13:14:07 -04:00
2015-05-04 13:14:07 -04:00
2015-05-04 13:14:07 -04:00
2020-06-25 15:04:14 +10:00
2022-10-14 16:36:05 -07:00
2020-06-24 11:52:23 +10:00
2020-06-24 11:52:23 +10:00

grafyaml

At a glance

Overview

grafyaml takes descriptions of Grafana dashboards in YAML format, and uses them to produce JSON formatted output suitable for direct import into Grafana.

The tool uses the Voluptuous data validation library to ensure the input produces a valid dashboard. Along with validation, users receive the benefits of YAML markup such as comments and clearer type support.

For example, here is a minimal dashboard specification

dashboard:
  time:
    from: "2018-02-07T08:42:27.000Z"
    to: "2018-02-07T13:48:32.000Z"
  templating:
    - name: hostname
      type: query
      datasource: graphite
      query: node*
      refresh: true
  title: My great dashboard
  rows:
    - title: CPU Usage
      height: 250px
      panels:
          - title: CPU Usage for $hostname
            type: graph
            datasource: graphite
            targets:
              - target: $hostname.Cpu.cpu_prct_used

grafyaml can be very useful in continuous-integration environments. Users can specify their dashboards via a normal review process and tests can validate their correctness.

The tool can also take JSON manually exported from the Grafana interface and load it as a dashboard. This allows keeping dashboards that have been edited with the inbuilt editor externally version controlled.

A large number of examples are available in the OpenStack project-config repository, which are used to create dashboards on http://grafana.openstack.org.

Description
Tools to make Grafana dashboards from templates
Readme 1.3 MiB
Languages
Python 99%
Dockerfile 1%