Broke apart the playbook into roles.
This commit is contained in:
6
iot/roles/grafana/defaults/main.yaml
Normal file
6
iot/roles/grafana/defaults/main.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
# Default variables for Grafana role
|
||||
grafana_user: "{{ ansible_user }}"
|
||||
grafana_image: "grafana/grafana:latest"
|
||||
grafana_directory: "/opt/grafana"
|
||||
grafana_container: "grafana"
|
||||
41
iot/roles/grafana/tasks/main.yaml
Normal file
41
iot/roles/grafana/tasks/main.yaml
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
# Tasks for Grafana role
|
||||
- getent:
|
||||
database: passwd
|
||||
key: "{{ grafana_user }}"
|
||||
split: ":"
|
||||
|
||||
- name: Pull Grafana image
|
||||
docker_image:
|
||||
name: "{{ grafana_image }}"
|
||||
source: pull
|
||||
force_source: yes
|
||||
|
||||
- name: Ensure Grafana Directory exists
|
||||
file:
|
||||
path: "{{ grafana_directory }}"
|
||||
state: directory
|
||||
group: "{{ grafana_user }}"
|
||||
owner: "{{ grafana_user }}"
|
||||
mode: 0755
|
||||
|
||||
- name: Create Grafana container
|
||||
docker_container:
|
||||
name: "{{ grafana_container }}"
|
||||
image: "{{ grafana_image }}"
|
||||
state: started
|
||||
restart_policy: "unless-stopped"
|
||||
user: "{{ getent_passwd[grafana_user][1] }}:{{ getent_passwd[grafana_user][2] }}"
|
||||
env:
|
||||
GF_SERVER_ROOT_URL: "https://{{ http_host }}"
|
||||
GF_INSTALL_PLUGINS: "grafana-clock-panel, grafana-simple-json-datasource, natel-discrete-panel, briangann-gauge-panel, vonage-status-panel, neocat-cal-heatmap-panel, natel-plotly-panel"
|
||||
GF_AUTH_ANONYMOUS_ENABLED: "true"
|
||||
GF_AUTH_ANONYMOUS_ORG_NAME: "Public"
|
||||
GF_AUTH_ANONYMOUS_ORG_ROLE: "Viewer"
|
||||
GF_AUTH_ANONYMOUS_HIDE_VERSION: "true"
|
||||
links:
|
||||
- "{{ influx_container }}:influx"
|
||||
published_ports:
|
||||
- 127.0.0.1:3005:3000
|
||||
volumes:
|
||||
- "{{ grafana_directory }}:/var/lib/grafana"
|
||||
Reference in New Issue
Block a user