From 69e22ffac2fa6ef03c6f303f96bdd3b068ac87c5 Mon Sep 17 00:00:00 2001 From: abednarik Date: Fri, 4 Aug 2017 12:36:22 -0300 Subject: [PATCH 1/4] Make grafana paths configurable. --- grafana/files/grafana.ini | 5 ++--- grafana/map.jinja | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/grafana/files/grafana.ini b/grafana/files/grafana.ini index f2071bb..da3ee3f 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.paths.data }} # # Directory where grafana can store logs # -;logs = /var/log/grafana +logs = {{ server.paths.logs }} #################################### Server #################################### [server] @@ -288,4 +288,3 @@ path = {{ server.dashboards.path }} ;enabled = false ;path = /var/lib/grafana/dashboards {%- endif %} - diff --git a/grafana/map.jinja b/grafana/map.jinja index dc0a52d..5562a39 100644 --- a/grafana/map.jinja +++ b/grafana/map.jinja @@ -4,6 +4,9 @@ Debian: pkgs: - grafana service: grafana-server + paths: + data: /var/lib/grafana + logs: /var/log/grafana bind: address: 0.0.0.0 port: 3000 From 6566e96e22d13e5ccaa61f507d6b04d36da994ef Mon Sep 17 00:00:00 2001 From: abednarik Date: Sun, 6 Aug 2017 22:30:31 -0300 Subject: [PATCH 2/4] Ensure custom paths are created and have correct permissions. --- grafana/files/default | 20 ++++++++++++++++++++ grafana/files/grafana.ini | 4 ++-- grafana/map.jinja | 5 ++++- grafana/server.sls | 23 +++++++++++++++++++++++ 4 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 grafana/files/default diff --git a/grafana/files/default b/grafana/files/default new file mode 100644 index 0000000..916b011 --- /dev/null +++ b/grafana/files/default @@ -0,0 +1,20 @@ +{%- 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 diff --git a/grafana/files/grafana.ini b/grafana/files/grafana.ini index da3ee3f..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 = {{ server.paths.data }} +data = {{ server.path.data }} # # Directory where grafana can store logs # -logs = {{ server.paths.logs }} +logs = {{ server.path.logs }} #################################### Server #################################### [server] diff --git a/grafana/map.jinja b/grafana/map.jinja index 5562a39..18958ae 100644 --- a/grafana/map.jinja +++ b/grafana/map.jinja @@ -4,7 +4,10 @@ Debian: pkgs: - grafana service: grafana-server - paths: + user: grafana + group: grafana + path: + home: /usr/share/grafana data: /var/lib/grafana logs: /var/log/grafana bind: 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 @@ grafana_packages: {%- 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 @@ grafana_{{ theme_name }}_css_override: {%- 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 @@ grafana_service: - 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) %} From cce0a4c3b733b14dc32948f4997de756f2dc97f6 Mon Sep 17 00:00:00 2001 From: abednarik Date: Thu, 14 Sep 2017 11:29:35 -0300 Subject: [PATCH 3/4] Add pid_file config to defaults file --- grafana/files/default | 2 ++ grafana/map.jinja | 1 + 2 files changed, 3 insertions(+) diff --git a/grafana/files/default b/grafana/files/default index 916b011..39c2334 100644 --- a/grafana/files/default +++ b/grafana/files/default @@ -18,3 +18,5 @@ CONF_FILE=/etc/grafana/grafana.ini RESTART_ON_UPGRADE=true PLUGINS_DIR={{ server.path.data }}/plugins + +PID_FILE={{ server.path.pidfile }} diff --git a/grafana/map.jinja b/grafana/map.jinja index 18958ae..6e4b0bf 100644 --- a/grafana/map.jinja +++ b/grafana/map.jinja @@ -10,6 +10,7 @@ Debian: home: /usr/share/grafana data: /var/lib/grafana logs: /var/log/grafana + pidfile: /var/run/grafana-server.pid bind: address: 0.0.0.0 port: 3000 From 2878e1439565bfd67cb3faca2cfa7dbaf51e5a8e Mon Sep 17 00:00:00 2001 From: abednarik Date: Thu, 14 Sep 2017 11:58:22 -0300 Subject: [PATCH 4/4] Include PID_FILE_DIR config --- grafana/files/default | 3 ++- grafana/map.jinja | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/grafana/files/default b/grafana/files/default index 39c2334..0eb79e1 100644 --- a/grafana/files/default +++ b/grafana/files/default @@ -19,4 +19,5 @@ RESTART_ON_UPGRADE=true PLUGINS_DIR={{ server.path.data }}/plugins -PID_FILE={{ server.path.pidfile }} +# Only used on systemd systems +PID_FILE_DIR={{ server.path.pid_file_dir }} diff --git a/grafana/map.jinja b/grafana/map.jinja index 6e4b0bf..c7c4bd4 100644 --- a/grafana/map.jinja +++ b/grafana/map.jinja @@ -10,7 +10,7 @@ Debian: home: /usr/share/grafana data: /var/lib/grafana logs: /var/log/grafana - pidfile: /var/run/grafana-server.pid + pid_file_dir: /var/run/grafana bind: address: 0.0.0.0 port: 3000