From 7e38ac864f4ebdac04c1049a9170633e315d3aff Mon Sep 17 00:00:00 2001
From: MichiK <michik@michik.net>
Date: Mon, 16 Sep 2019 19:49:21 +0200
Subject: [PATCH] Add initial simple Grafana role

---
 monitoring.yml                         |  8 +++++++
 roles/grafana/defaults/main.yml        |  2 ++
 roles/grafana/handlers/main.yml        |  4 ++++
 roles/grafana/tasks/main.yml           | 29 ++++++++++++++++++++++++++
 roles/grafana/templates/grafana.ini.j2 | 11 ++++++++++
 5 files changed, 54 insertions(+)
 create mode 100644 monitoring.yml
 create mode 100644 roles/grafana/defaults/main.yml
 create mode 100644 roles/grafana/handlers/main.yml
 create mode 100644 roles/grafana/tasks/main.yml
 create mode 100644 roles/grafana/templates/grafana.ini.j2

diff --git a/monitoring.yml b/monitoring.yml
new file mode 100644
index 0000000..ed2a13e
--- /dev/null
+++ b/monitoring.yml
@@ -0,0 +1,8 @@
+# Install and configure Prometheus and Grafana for angel system etc.
+# monitoring
+
+- name: install and configure Prometheus and Grafana
+  hosts: monitoring
+  become: yes
+  roles:
+   - grafana
diff --git a/roles/grafana/defaults/main.yml b/roles/grafana/defaults/main.yml
new file mode 100644
index 0000000..0274600
--- /dev/null
+++ b/roles/grafana/defaults/main.yml
@@ -0,0 +1,2 @@
+grafana_listen_address: "127.0.0.1"
+grafana_public_access: true
diff --git a/roles/grafana/handlers/main.yml b/roles/grafana/handlers/main.yml
new file mode 100644
index 0000000..92e183d
--- /dev/null
+++ b/roles/grafana/handlers/main.yml
@@ -0,0 +1,4 @@
+- name: restart Grafana
+  systemd:
+    name: "grafana-server"
+    state: restarted
diff --git a/roles/grafana/tasks/main.yml b/roles/grafana/tasks/main.yml
new file mode 100644
index 0000000..1a8dbe9
--- /dev/null
+++ b/roles/grafana/tasks/main.yml
@@ -0,0 +1,29 @@
+- name: add Grafana key
+  apt_key:
+    data: '{{ lookup("file", "grafana.key") }}'
+    state: present
+
+- name: add Grafana repo
+  apt_repository:
+    repo: "deb https://packages.grafana.com/oss/deb stable main"
+    state: present
+    update_cache: yes
+
+- name: install Grafana
+  apt:
+    package: grafana
+    state: present
+
+- name: enable Grafana
+  systemd:
+    name: "grafana-server"
+    enabled: yes
+
+- name: configure Grafana
+  template:
+    src: "grafana.ini.j2"
+    dest: "/etc/grafana/grafana.ini"
+    owner: root
+    group: grafana
+    mode: 0640
+  notify: restart Grafana
diff --git a/roles/grafana/templates/grafana.ini.j2 b/roles/grafana/templates/grafana.ini.j2
new file mode 100644
index 0000000..b980e64
--- /dev/null
+++ b/roles/grafana/templates/grafana.ini.j2
@@ -0,0 +1,11 @@
+# {{ ansible_managed }}
+
+[server]
+http_addr = {{ grafana_listen_address }}
+
+{% if grafana_public_access %}
+[auth.anonymous]
+enabled = true
+org_name = Heaven
+org_role = Viewer
+{% endif %}
-- 
GitLab