Allow the installation of Grafana plugins

Change-Id: I6eab0435fb169ed12c880af01ba1e76a06268825
diff --git a/README.rst b/README.rst
index 3e6b71a..0dcb4c0 100644
--- a/README.rst
+++ b/README.rst
@@ -155,6 +155,18 @@
             css_override:
               source: salt://path.to.theme
 
+Server with two additionals plugins. It requires to have access to the Internet.
+
+.. code-block:: yaml
+
+    grafana:
+      server:
+        enabled: true
+        plugins:
+          grafana-piechart-panel:
+            enabled: true
+          grafana-example-app:
+            enabled: true
 
 Collector setup
 ---------------
diff --git a/grafana/server.sls b/grafana/server.sls
index feb4f79..647f54e 100644
--- a/grafana/server.sls
+++ b/grafana/server.sls
@@ -79,4 +79,15 @@
   - watch:
     - file: /etc/grafana/grafana.ini
 
+{%- for plugin_name, plugin in server.get('plugins', {}).iteritems() %}
+{%- if plugin.get('enabled', False) %}
+install_{{ plugin_name }}:
+  cmd.run:
+  - name: grafana-cli plugins install {{ plugin_name }}
+  - unless: grafana-cli plugins list-versions {{ plugin_name }}
+  - watch_in:
+    - service: grafana_service
+{%- endif %}
+{%- endfor %}
+
 {%- endif %}