From 19a7ea7237927c6a3d1da7029e52bd5036d7b5bf Mon Sep 17 00:00:00 2001 From: Thomas Schneider <tschneider@asta.rwth-aachen.de> Date: Sat, 13 Jun 2020 21:31:08 +0200 Subject: [PATCH] grafana: Add postgres config --- grafana/tasks/main.yml | 9 +++++++++ grafana/tasks/postgres.yml | 23 +++++++++++++++++++++++ grafana/templates/grafana.ini.j2 | 10 ++++++++-- 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 grafana/tasks/postgres.yml diff --git a/grafana/tasks/main.yml b/grafana/tasks/main.yml index 6ddae6b..4b961b9 100644 --- a/grafana/tasks/main.yml +++ b/grafana/tasks/main.yml @@ -81,6 +81,15 @@ - config - grafana +- import_tasks: postgres.yml + when: + - grafana_database is defined + - grafana_database.type == "postgres" + - grafana_database.host[0] == '/' + tags: + - grafana + - postgres + - meta: flush_handlers - name: Enable and start Grafana diff --git a/grafana/tasks/postgres.yml b/grafana/tasks/postgres.yml new file mode 100644 index 0000000..f69793b --- /dev/null +++ b/grafana/tasks/postgres.yml @@ -0,0 +1,23 @@ +--- + +- become: true + become_user: postgres + block: + - name: Create postgres user + postgresql_user: + name: grafana + state: present + + - name: Create database + postgresql_db: + name: grafana + owner: grafana + state: present + + - name: Grant database privileges + postgresql_privs: + database: grafana + privs: ALL + state: present + type: database + roles: grafana diff --git a/grafana/templates/grafana.ini.j2 b/grafana/templates/grafana.ini.j2 index bbb0019..ac54026 100644 --- a/grafana/templates/grafana.ini.j2 +++ b/grafana/templates/grafana.ini.j2 @@ -18,8 +18,14 @@ serve_from_sub_path = {{ grafana_serve_from_sub_path }} socket = /run/grafana/sock [database] -{% if grafana_database_url is defined %} -url = {{ grafana_database_url }} +{% if grafana_database is defined %} +type = {{ grafana_database.type }} +host = {{ grafana_database.host }} +name = {{ grafana_database.name }} +user = {{ grafana_database.user }} +{% if grafana_database.password is defined %} +password = """{{ grafana_database.password }}""" +{% endif %} {% endif %} [analytics] -- GitLab