--- - name: Ensure observability namespace exists command: kubectl create namespace {{ observability_namespace }} register: create_observability_ns failed_when: create_observability_ns.rc != 0 and "AlreadyExists" not in create_observability_ns.stderr changed_when: create_observability_ns.rc == 0 - name: Wait for Grafana deployment rollout command: kubectl -n {{ observability_namespace }} rollout status deployment/kube-prometheus-stack-grafana --timeout=5m changed_when: false - name: Write Grafana datasources ConfigMap template: src: grafana-datasources.yaml.j2 dest: /tmp/grafana-datasources.yaml mode: "0644" - name: Apply Grafana datasources ConfigMap command: kubectl apply -f /tmp/grafana-datasources.yaml changed_when: true - name: Write Grafana dashboard ConfigMap template: src: grafana-dashboard-k8s-overview.yaml.j2 dest: /tmp/grafana-dashboard-k8s-overview.yaml mode: "0644" - name: Apply Grafana dashboard ConfigMap command: kubectl apply -f /tmp/grafana-dashboard-k8s-overview.yaml changed_when: true - name: Show Grafana content provisioning summary debug: msg: | Grafana content applied. Datasources ConfigMap: {{ grafana_datasource_configmap_name }} Dashboard ConfigMap: {{ grafana_dashboard_configmap_name }}