feat: manage grafana content as code with fast dashboard workflow
This commit is contained in:
37
ansible/roles/observability-content/tasks/main.yml
Normal file
37
ansible/roles/observability-content/tasks/main.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
- 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 }}
|
||||
Reference in New Issue
Block a user