Structure overhaul
diff --git a/README.md b/README.rst
similarity index 87%
rename from README.md
rename to README.rst
index e7d5d65..2b25f33 100755
--- a/README.md
+++ b/README.rst
@@ -1,9 +1,12 @@
 
-# Grafana
+=======
+Grafana
+=======
 
 A beautiful, easy to use and feature rich Graphite dashboard replacement and graph editor.
 
-## Sample pillar
+Sample pillar
+=============
 
     grafana:
       server:
@@ -23,7 +26,7 @@
           port: 443
           user: test
 
-## Sample pillar with source from stable package
+Sample pillar with source from stable package
 
     grafana:
       server:
@@ -42,7 +45,8 @@
           port: 443
           user: test
 
-## Read more
+Read more
+=========
 
 * http://grafana.org/
-* https://github.com/torkelo/grafana/wiki
\ No newline at end of file
+* https://github.com/torkelo/grafana/wiki
diff --git a/conf/config.js b/conf/config.js
deleted file mode 100755
index 956172c..0000000
--- a/conf/config.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/** @scratch /configuration/config.js/1
- * == Configuration
- * config.js is where you will find the core Grafana configuration. This file contains parameter that
- * must be set before kibana is run for the first time.
- */
-define(['settings'],
-function (Settings) {
-  "use strict";
-
-  return new Settings({
-
-    /**
-     * elasticsearch url:
-     * For Basic authentication use: http://username:password@domain.com:9200
-     */
-    elasticsearch: "http://{{ pillar.grafana.server.elasticsearch.host }}:{{ pillar.grafana.server.elasticsearch.port }}",
-
-    /**
-     * graphite-web url:
-     * For Basic authentication use: http://username:password@domain.com
-     * Basic authentication requires special HTTP headers to be configured
-     * in nginx or apache for cross origin domain sharing to work (CORS).
-     * Check install documentation on github
-     */
-    {% if (pillar.grafana.server.data|length) == 1 %}
-
-    {% for data in pillar.grafana.server.data %}
-    {%- if data.type == "graphite" %}
-    graphiteUrl: "http://{{ data.host }}:{{ data.port }}",
-    {%- endif %}
-    {% endfor %}
-
-    {%- else %}
-    /*graphiteUrl: "http://"+{{ salt['pillar.get']('grafana:server:data:host', "")}}+":{{ salt['pillar.get']('grafana:server:data:port', 80)}}",
-    */
-
-    /**
-     * Multiple graphite servers? Comment out graphiteUrl and replace with
-     *
-     *  datasources: {
-
-     *    data_center_us: { type: 'graphite',  url: 'http://<graphite_url>',  default: true },
-     *    data_center_eu: { type: 'graphite',  url: 'http://<graphite_url>' }
-     *  }
-     */
-    {%- endif %}
-
-    default_route: '/dashboard/file/default.json',
-
-    /**
-     * If your graphite server has another timezone than you & users browsers specify the offset here
-     * Example: "-0500" (for UTC - 5 hours)
-     */
-    timezoneOffset: null,
-
-    grafana_index: "grafana-dash",
-
-    panel_names: [
-      'text',
-      'graphite'
-    ]
-  });
-});
diff --git a/grafana/init.sls b/grafana/init.sls
new file mode 100755
index 0000000..ce1d045
--- /dev/null
+++ b/grafana/init.sls
@@ -0,0 +1,7 @@
+
+{%- if pillar.grafana is defined %}
+include:
+{%- if pillar.grafana.server is defined %}
+- grafana.server
+{%- endif %}
+{%- endif %}
diff --git a/grafana/meta/sphinx.yml b/grafana/meta/sphinx.yml
new file mode 100644
index 0000000..54b4d3f
--- /dev/null
+++ b/grafana/meta/sphinx.yml
@@ -0,0 +1,7 @@
+doc:
+  name: Grafana
+  description: A beautiful, easy to use and feature rich Graphite dashboard replacement and graph editor.
+  role:
+    server:
+      name: server
+      param: {}
diff --git a/grafana/server.sls b/grafana/server.sls
new file mode 100644
index 0000000..fe30a8d
--- /dev/null
+++ b/grafana/server.sls
@@ -0,0 +1,20 @@
+{%- from "grafana/map.jinja" import server with context %}
+{%- if server.enabled %}
+
+grafana_packages:
+  pkg.installed:
+  - names:
+    - python-memcache
+    - python-psycopg2
+    - python-imaging
+
+/etc/grafana/local_settings.py:
+  file.managed:
+  - source: salt://grafana/files/local_settings.py
+  - template: jinja
+  - user: root
+  - group: root
+  - require:
+    - pkg: grafana_packages
+
+{%- endif %}
\ No newline at end of file
diff --git a/metadata/service/server/single.yml b/metadata/service/server/single.yml
new file mode 100644
index 0000000..db2ade8
--- /dev/null
+++ b/metadata/service/server/single.yml
@@ -0,0 +1,6 @@
+applications:
+- grafana
+parameters:
+  grafana:
+    server:
+      enabled: true
\ No newline at end of file
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
new file mode 100644
index 0000000..0d44256
--- /dev/null
+++ b/metadata/service/support.yml
@@ -0,0 +1,11 @@
+parameters:
+  grafana:
+    _support:
+      collectd:
+        enabled: false
+      heka:
+        enabled: false
+      sensu:
+        enabled: false
+      sphinx:
+        enabled: true