Files
gitlab-mirror/roles/grafana/tasks/install.yml
2025-12-12 16:10:28 +03:00

79 lines
2.3 KiB
YAML

---
- name: "Create Grafana system group"
ansible.builtin.group:
name: grafana
system: true
state: present
- name: "Create Grafana system user"
ansible.builtin.user:
name: grafana
group: grafana
system: true
shell: "/sbin/nologin"
create_home: false
state: present
- name: "Install Grafana deb package"
block:
- name: "Check Grafana version"
changed_when: false
ansible.builtin.command:
cmd: "grafana-server --version"
register: grafana_ver
- name: "Assert version correctness"
ansible.builtin.assert:
that: "grafana_ver.stdout is regex('{{ grafana_version }}')"
success_msg: "grafana version {{ grafana_version }} is installed and working"
fail_msg: "grafana version {{ grafana_version }} is not installed or not working correctly"
rescue:
- name: "Ensure that directories exist"
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: "{{ grafana_user }}"
group: "{{ grafana_group }}"
mode: '0775'
with_items:
- "{{ grafana_log_dir }}"
- "{{ grafana_data_dir }}"
- "{{ grafana_plugins_dir }}"
- name: "Download Grafana DEB package"
ansible.builtin.get_url:
url: "https://dl.grafana.com/oss/release/grafana_{{ grafana_version }}_amd64.deb"
dest: "/tmp/grafana-{{ grafana_version }}_amd64.deb"
owner: "{{ grafana_user }}"
group: "{{ grafana_group }}"
mode: "0644"
register: grafana_package_tmp
- name: "Install DEB package"
notify: "(Re)start and enable Grafana"
ansible.builtin.apt:
deb: "{{ grafana_package_tmp.dest }}"
state: present
update_cache: true
- name: "Cleanup downloaded file"
ansible.builtin.file:
path: "/tmp/grafana-{{ grafana_version }}_amd64.deb"
state: absent
- name: "Create env file for systemd service unit"
notify: "(Re)start and enable Grafana"
ansible.builtin.template:
src: grafana-server.env.j2
dest: "{{ item }}"
owner: "{{ grafana_user }}"
group: "{{ grafana_group }}"
mode: "0660"
with_items:
- "/etc/default/grafana-server"
- "/etc/default/grafana"
- name: "Flush handlers"
ansible.builtin.meta: "flush_handlers"