diff --git a/README.rst b/README.rst index 777bb9e..85e294a 100644 --- a/README.rst +++ b/README.rst @@ -1,16 +1,59 @@ -======== grafyaml -======== +-------- -Grafyaml takes simple descriptions of Grafana dashboards in YAML format, and -uses them to configure Grafana. +At a glance ++++++++++++ * Free software: Apache license * Documentation: http://docs.openstack.org/infra/grafyaml/ * Source: http://git.openstack.org/cgit/openstack-infra/grafyaml * Bugs: https://storyboard.openstack.org/#!/project/818 -Features --------- +Overview +++++++++ -* TODO +``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 + +.. code-block:: yaml + + 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. + +A large number of examples are available in the OpenStack +`project-config +`__ +repository, which are used to create dashboards on +``__. diff --git a/doc/source/conf.py b/doc/source/conf.py index 6f4cde6..6f76fb4 100755 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -21,7 +21,7 @@ sys.path.insert(0, os.path.abspath('../..')) # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [ 'sphinx.ext.autodoc', - 'oslosphinx' + 'openstackdocstheme', ] # Also document __init__ @@ -47,6 +47,9 @@ add_module_names = True # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' +# openstackdocstheme options +repository_name = 'openstack-infra/grafyaml' + # -- Options for HTML output -------------------------------------------------- # The theme to use for HTML and HTML Help pages. Major themes that come with @@ -55,6 +58,8 @@ pygments_style = 'sphinx' # html_theme = '_theme' # html_static_path = ['static'] +html_theme = 'openstackdocs' + # Output file base name for HTML help builder. htmlhelp_basename = '%sdoc' % project diff --git a/doc/source/index.rst b/doc/source/index.rst index b62586e..97b9208 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -4,7 +4,7 @@ Welcome to grafyaml's documentation! .. include:: ../../README.rst Contents -======== +++++++++ .. toctree:: :maxdepth: 2 @@ -16,7 +16,7 @@ Contents api Indices and tables -================== +++++++++++++++++++ * :ref:`genindex` * :ref:`modindex` diff --git a/requirements.txt b/requirements.txt index 23568de..23564cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ dogpile.cache -pbr>=1.6 +pbr!=2.1.0,>=2.0.0 python-slugify PyYAML>=3.1.0 requests diff --git a/test-requirements.txt b/test-requirements.txt index 2551232..e7171d9 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,9 +7,9 @@ hacking<0.11,>=0.10.0 coverage>=3.6 python-subunit>=0.0.18 requests-mock>=0.6.0 -sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 +sphinx>=1.6.2 mock>=1.2 -oslosphinx>=2.2.0 # Apache-2.0 +openstackdocstheme>=1.11.0 # Apache-2.0 oslotest>=1.2.0 # Apache-2.0 testrepository>=0.0.18 testscenarios>=0.4