ansible-role-grafana/tasks/main.yml

81 lines
2.7 KiB
YAML

---
- block:
- name: Ensure that grafana is stopped and disabled
service: name=grafana-server state=stopped enabled=no
- name: Remove the grafana deb packages
apt: name={{ grafana_packages }} state=absent
- name: Install the grafana deb repository
apt_repository: repo='{{ grafana_repo }}' state=absent update_cache=yes
when: not grafana_enabled
tags: [ 'grafana' ]
- block:
- name: Install the grafana repo key
apt_key: url={{ grafana_repo_key }} state=present
- name: Install the grafana deb repository
apt_repository: repo='{{ grafana_repo }}' state=present update_cache=yes
- name: Install the grafana deb packages
apt: name={{ grafana_packages }} state={{ grafana_pkg_state }} update_cache=yes cache_valid_time=1800
- name: Install the grafana configuration
ansible.builtin.ini_file:
path: '/etc/grafana/grafana.ini'
section: '{{ item.section }}'
option: '{{ item.option }}'
value: '{{ item.value }}'
state: "{{ item.state | default('present') }}"
mode: '0440'
owner: root
group: grafana
loop: '{{ grafana_conf }}'
notify: Restart grafana
tags: [ 'grafana', 'grafana_conf' ]
- name: Add additional grafana configurations
ansible.builtin.ini_file:
path: '/etc/grafana/grafana.ini'
section: '{{ item.section }}'
option: '{{ item.option }}'
value: '{{ item.value }}'
state: "{{ item.state | default('present') }}"
mode: '0440'
owner: root
group: grafana
loop: '{{ grafana_additional_conf }}'
notify: Restart grafana
tags: [ 'grafana', 'grafana_conf' ]
- name: Install the grafana LDAP configuration file
ansible.builtin.template:
src: '{{ item }}.j2'
dest: '/etc/grafana/{{ item }}'
mode: 0440
owner: root
group: grafana
loop: '{{ grafana_ldap_conf_file }}'
notify: Restart grafana
when: grafana_ldap_auth
tags: [ 'grafana', 'grafana_conf', 'grafana_ldap' ]
- name: Create the local dashboards directory
file: dest=/var/lib/grafana/dashboards state=directory mode=0755 owner=grafana group=grafana
- name: Install additional plugins, if any
grafana_plugin:
name: '{{ item.name }}'
state: "{{ item.state | default('present') }}"
grafana_repo: "{{ item.repo | default('https://grafana.com/api/plugins') }}"
loop: '{{ grafana_additional_plugins }}'
tags: [ 'grafana', 'grafana_plugins' ]
- name: Ensure that grafana is enabled and running
service: name=grafana-server state=started enabled=yes
when: grafana_enabled
tags: [ 'grafana' ]