k8s/roles/logging/tasks/grafana.yml
2026-07-15 11:14:21 +03:00

43 lines
1.5 KiB
YAML

---
- name: Grafana | Check grafana-admin-secret exists
ansible.builtin.command: >
kubectl get secret {{ grafana_admin_secret }}
-n {{ logging_namespace }}
environment:
KUBECONFIG: "{{ logging_kubeconfig }}"
PATH: "/usr/local/bin:/usr/bin:/bin"
changed_when: false
failed_when: false
register: _grafana_secret
- name: Grafana | Assert grafana-admin-secret exists
ansible.builtin.assert:
that: _grafana_secret.rc == 0
fail_msg: >-
Secret '{{ grafana_admin_secret }}' not found in namespace '{{ logging_namespace }}'.
Create it manually before running this playbook:
kubectl create namespace {{ logging_namespace }}
kubectl create secret generic {{ grafana_admin_secret }}
--from-literal=admin-user=admin --from-literal=admin-password='YOUR_PASSWORD'
-n {{ logging_namespace }}
- name: Grafana | Render Grafana values
ansible.builtin.template:
src: grafana-values.yml.j2
dest: /tmp/grafana-values.yml
mode: "0600"
- name: Grafana | Install or upgrade Grafana
ansible.builtin.command: >
helm upgrade --install grafana grafana/grafana
--namespace {{ logging_namespace }}
--version {{ grafana_chart_version }}
--values /tmp/grafana-values.yml
--timeout 5m0s
--wait
environment:
KUBECONFIG: "{{ logging_kubeconfig }}"
PATH: "/usr/local/bin:/usr/bin:/bin"
register: _helm_install
changed_when: "'STATUS: deployed' in _helm_install.stdout or 'has been upgraded' in _helm_install.stdout"