diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7bca7e2f01f..e4c3dd91b79 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -62,6 +62,7 @@ pages: - ['reference/templating.md', 'Reference', 'Templating'] - ['reference/scripting.md', 'Reference', 'Scripting'] - ['reference/playlist.md', 'Reference', 'Playlist'] +- ['reference/plugins.md', 'Reference', 'Plugins'] - ['reference/export_import.md', 'Reference', 'Import & Export'] - ['reference/admin.md', 'Reference', 'Administration'] - ['reference/http_api.md', 'Reference', 'HTTP API'] diff --git a/docs/sources/reference/plugins.md b/docs/sources/reference/plugins.md new file mode 100644 index 00000000000..30a3703bcb3 --- /dev/null +++ b/docs/sources/reference/plugins.md @@ -0,0 +1,50 @@ +--- +page_title: Plugin guide +page_description: Plugin guide for Grafana +page_keywords: grafana, plugins, documentation +--- + +# Plugins + +!Plugin support for panels is only available in nightly! + +Adding support for all datasources and suggested panels would bloat grafana and make it impossible to maintain. Thats why we implemented a plugin system that makes it possible for anyone to develop support for a datasource or custom panel without adding it to Grafana itself. + +## Installing plugins + +Installing a plugin is very simple. Just download it and place it in the Grafana plugins folder and restart grafana. + +The default plugin folder is configurable under paths.plugins + +It's also possible to add one specific plugin by linking to its folder. + +``` +[plugin.mirror] +path = /home/evil-queen/datasource-plugin-mirror +``` + +## Plugin implementation ## + +Each plugin is defined in plugin.json file in the plugin folder. + +Instead of massive documentation about how it works we created a reference implementation of a plugin. +You can find each reference implementation further down on this page. + +## Datasource plugins + +Datasource have three responsibilities. + + * UI for configuring its settings + * Datasource object that can send queries, metricqueries and healthcheck the datasource + * Query editor within panels + +https://github.com/grafana/datasource-plugin-genericdatasource + +## Panel plugins + +Panel plugins are responsible for + + * UI for Panel options. + * Creating a directive that can render something based on datasource data. + +We currently dont have a reference implementation for panel plugins but you can checkout https://github.com/grafana/panel-plugin-piechart