munin-monitoring / munin-plugin-gallery

Build a static website listing munin plugins from a set of configurable sources

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Munin Plugin Gallery

The plugin gallery generator retrieves Munin plugins from configured sources.

The plugins are parsed and relevant meta data is extracted (programming language, capabilities, graph categories).

The plugin data is used for generating a static website (via hugo).

The default configuration supplied with this generator (see config.yml) is used for the Munin Plugin Gallery.

Supported plugin source types

  • git repository
  • archive (e.g. tar.gz)
  • local directory

Hugo export

The configuration and layout of the exported website uses the content of the directory hugo-base.

See the Hugo documentation for details.

You can explore the build result locally by running the following command:

./plugin-gallery-generator serve

Contribute

You are welcome to contribute to this plugin gallery generator in order to improve the plugin parser or details of the generated website.

The following sections include hints regarding specific parts of the build process.

Website layout

Adjust the content of the directory hugo-base and rebuild the local website:

./plugin-gallery-generator serve

After the first run you may want to omit the plugin collection in order to speed up the process:

./plugin-gallery-generator --skip-collect serve

Additional munin plugin sources (repositories)

  1. Add an entry to config.yml
  2. optional: specify a human-readable name for the repository in hugo-base/content/repositories
  3. Test the collection process: ./plugin-gallery-generator --skip-website build
  4. commit the changes and propose a pull request

In case of problems, you may want to speedup debugging by temporarily removing all other sources from the list specified in config.yml.

Plugin parser

Adjust the python-based plugin-gallery-generator and rebuild the plugin tree:

./plugin-gallery-generator --skip-website build

If you want to debug only a few (local) plugins, then you should specify the relevant local directory in your configuration file (e.g. config.yml) in order to reduce processing time:

sources:
  - name: foo
    type: directory
    location: your-local-example-directory

Alternatively you can output the parsed metadata of single files:

./plugin-gallery-generator --skip-website --show-metadata --plugin SOME_FILENAME build

Verify changes

After changes of the the parser code you should verify that these changes have the desired effect on the complete plugin collection. You can do this by generating the metadata before and after your change by running the following command (hint: redirect the output to a file):

./plugin-gallery-generator --skip-website --show-metadata build

Dependencies

The file munin-plugin-gallery-dependencies.equivs can be used for generating a dummy dependency deb package. This simplifies the explicit documentation of all required packages necessary for running the munin plugin generator.

Generate the dependency package:

equivs-build munin-plugin-gallery-dependencies.equivs

About

Build a static website listing munin plugins from a set of configurable sources

License:GNU General Public License v3.0


Languages

Language:Python 85.6%Language:HTML 11.7%Language:Makefile 1.6%Language:CSS 1.1%