ansible-role-grafana/tasks/main.yml

89 lines
2.1 KiB
YAML

---
- name: Install dependencies packages
ansible.builtin.package:
name:
- apt-transport-https
- gpg
- unzip
tags: grafana
- name: Add repository key
ansible.builtin.get_url:
url: https://apt.grafana.com/gpg.key
dest: /usr/share/keyrings/grafana.key
owner: root
group: root
mode: 0644
tags: grafana
- name: Add repository
ansible.builtin.apt_repository:
repo: deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main
filename: grafana
tags: grafana
- name: Install grafana package
ansible.builtin.package:
name:
- grafana
tags: grafana
- name: Copy default environment variables file
ansible.builtin.template:
src: default.j2
dest: /etc/default/grafana-server
owner: root
group: root
mode: 0644
notify: Restart grafana
tags: grafana
- name: Copy configuration file
ansible.builtin.template:
src: grafana.ini.j2
dest: /etc/grafana/grafana.ini
owner: root
group: grafana
mode: 0640
notify: Restart grafana
tags: grafana
- name: Copy ldap configuration file
ansible.builtin.template:
src: ldap.toml.j2
dest: /etc/grafana/ldap.toml
owner: root
group: grafana
mode: 0640
notify: Restart grafana
tags: grafana
- name: Install official plugins
community.grafana.grafana_plugin:
name: "{{ item.name }}"
version: "{{ item.version | default('latest') }}"
state: "{{ item.state | default('present') }}"
loop: "{{ grafana_plugins | selectattr('url', 'undefined') }}"
loop_control:
label: "{{ item.name }}"
notify: Restart grafana
tags: grafana
- name: Install unofficial plugins
community.grafana.grafana_plugin:
name: "{{ item.name }}"
grafana_plugin_url: "{{ item.url }}"
version: "{{ item.version | default('latest') }}"
state: "{{ item.state | default('present') }}"
loop: "{{ grafana_plugins | selectattr('url', 'defined') }}"
loop_control:
label: "{{ item.name }}"
notify: Restart grafana
tags: grafana
- name: Enable and start service
ansible.builtin.service:
name: grafana-server
state: started
enabled: true
tags: grafana