Merge pull request #30 from Perceptyx/master
Add default file and custom path dir creation
diff --git a/grafana/files/default b/grafana/files/default
new file mode 100644
index 0000000..0eb79e1
--- /dev/null
+++ b/grafana/files/default
@@ -0,0 +1,23 @@
+{%- from "grafana/map.jinja" import server with context %}
+GRAFANA_USER={{ server.user }}
+
+GRAFANA_GROUP={{ server.group }}
+
+GRAFANA_HOME=/usr/share/grafana
+
+LOG_DIR={{ server.path.logs }}
+
+DATA_DIR={{ server.path.data }}
+
+MAX_OPEN_FILES=10000
+
+CONF_DIR=/etc/grafana
+
+CONF_FILE=/etc/grafana/grafana.ini
+
+RESTART_ON_UPGRADE=true
+
+PLUGINS_DIR={{ server.path.data }}/plugins
+
+# Only used on systemd systems
+PID_FILE_DIR={{ server.path.pid_file_dir }}
diff --git a/grafana/files/grafana.ini b/grafana/files/grafana.ini
index f2071bb..7742a8f 100644
--- a/grafana/files/grafana.ini
+++ b/grafana/files/grafana.ini
@@ -11,11 +11,11 @@
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
#
-;data = /var/lib/grafana
+data = {{ server.path.data }}
#
# Directory where grafana can store logs
#
-;logs = /var/log/grafana
+logs = {{ server.path.logs }}
#################################### Server ####################################
[server]
@@ -288,4 +288,3 @@
;enabled = false
;path = /var/lib/grafana/dashboards
{%- endif %}
-
diff --git a/grafana/map.jinja b/grafana/map.jinja
index dc0a52d..c7c4bd4 100644
--- a/grafana/map.jinja
+++ b/grafana/map.jinja
@@ -4,6 +4,13 @@
pkgs:
- grafana
service: grafana-server
+ user: grafana
+ group: grafana
+ path:
+ home: /usr/share/grafana
+ data: /var/lib/grafana
+ logs: /var/log/grafana
+ pid_file_dir: /var/run/grafana
bind:
address: 0.0.0.0
port: 3000
diff --git a/grafana/server.sls b/grafana/server.sls
index 7c66e5c..8bc42b1 100644
--- a/grafana/server.sls
+++ b/grafana/server.sls
@@ -28,6 +28,14 @@
{%- endif %}
+/etc/default/grafana-server:
+ file.managed:
+ - name: /etc/default/grafana-server
+ - source: salt://grafana/files/default
+ - template: jinja
+ - require:
+ - pkg: grafana_packages
+
{%- if server.dashboards.enabled %}
grafana_copy_default_dashboards:
@@ -69,6 +77,20 @@
{%- endfor %}
+{{server.path.data}}:
+ file.directory:
+ - makedirs: True
+ - mode: 755
+ - user: {{ server.user }}
+ - group: {{ server.group }}
+
+{{server.path.logs}}:
+ file.directory:
+ - makedirs: True
+ - mode: 755
+ - user: {{ server.user }}
+ - group: {{ server.group }}
+
grafana_service:
service.running:
- name: {{ server.service }}
@@ -78,6 +100,7 @@
- init_delay: 5
- watch:
- file: /etc/grafana/grafana.ini
+ - file: /etc/default/grafana-server
{%- for plugin_name, plugin in server.get('plugins', {}).iteritems() %}
{%- if plugin.get('enabled', False) %}