From fb45c9b8cd6a110ef42601ec094f9b9a2b0e8957 Mon Sep 17 00:00:00 2001 From: Sven Ketelsen Date: Tue, 9 May 2023 19:00:40 +0200 Subject: [PATCH] DEV-1004 hotfix after merge due to dashboard types on qa/prod - dashboard folders are given by rest api, added filtering --- roles/prometheus/tasks/main.yml | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index 10ff3b6..7e07538 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -102,13 +102,13 @@ - name: "Get all existing Dashboard uids" set_fact: - grafana_dashboards_uids: "{{ grafana_dashboards.json | json_query('[].uid') }}" + grafana_dashboards: "{{ grafana_dashboards.json | json_query('[].{uid: uid, type: type, title: title}') }}" tags: - grafana-user-update -- name: "Printing Grafana Dashboard IDs" +- name: "Printing Grafana Dashboards" debug: - msg: "{{ grafana_dashboards_uids }}" + msg: "{{ grafana_dashboards }}" tags: - grafana-user-update when: @@ -116,7 +116,7 @@ - name: Restrict admin dashboard permissions uri: - url: "{{ http_s }}://{{ grafana_id }}.{{ domain }}/api/dashboards/uid/{{ item }}/permissions" + url: "{{ http_s }}://{{ grafana_id }}.{{ domain }}/api/dashboards/uid/{{ item.uid }}/permissions" url_username: "{{ grafana_admin_username }}" url_password: "{{ grafana_admin_password }}" force_basic_auth: yes @@ -129,13 +129,16 @@ - role: Admin permission: 4 return_content: yes - loop: "{{ grafana_dashboards_uids | difference(grafana_dashboard_whitelist) | list }}" + loop: "{{ grafana_dashboards }}" + when: + - item.type == 'dash-db' + - item.uid not in grafana_dashboard_whitelist tags: - grafana-user-update - name: Allow viewer dashboard permissions uri: - url: "{{ http_s }}://{{ grafana_id }}.{{ domain }}/api/dashboards/uid/{{ item }}/permissions" + url: "{{ http_s }}://{{ grafana_id }}.{{ domain }}/api/dashboards/uid/{{ item.uid }}/permissions" url_username: "{{ grafana_admin_username }}" url_password: "{{ grafana_admin_password }}" force_basic_auth: yes @@ -148,7 +151,10 @@ - role: Viewer permission: 1 return_content: yes - loop: "{{ grafana_dashboard_whitelist }}" + loop: "{{ grafana_dashboards }}" + when: + - item.type == 'dash-db' + - item.uid in grafana_dashboard_whitelist tags: - grafana-user-update