--- - 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"