From dccb5ebcfd54ba0628f62e7356c4fb09f960fb12 Mon Sep 17 00:00:00 2001 From: Reto Kupferschmid Date: Fri, 31 Jan 2025 10:33:47 +0100 Subject: [PATCH] fix: Copy prometheus rules from files instead of var --- roles/prometheus/defaults/main.yml | 1 - roles/prometheus/tasks/prometheus.yml | 22 ++++++++++++++++------ roles/prometheus/templates/rule.yml | 2 -- 3 files changed, 16 insertions(+), 9 deletions(-) delete mode 100644 roles/prometheus/templates/rule.yml diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml index dc377e53..a3ee404f 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -19,7 +19,6 @@ prometheus_n8n_exporter_proxy_basic_auth_password: "'{{ vault_prometheus_n8n_exp prometheus_meilisearch_exporter_api_key: "{{ vault_prometheus_meilisearch_exporter_api_key }}" prometheus_uptime_kuma_exporter_basic_auth_password: "{{ vault_prometheus_uptime_kuma_exporter_basic_auth_password }}" prometheus_alerting: {} -prometheus_rules: {} prometheus_custom_scrapers: "" # system.yml: | # {% raw %} diff --git a/roles/prometheus/tasks/prometheus.yml b/roles/prometheus/tasks/prometheus.yml index 3e5ec45e..7b4dd503 100644 --- a/roles/prometheus/tasks/prometheus.yml +++ b/roles/prometheus/tasks/prometheus.yml @@ -29,12 +29,22 @@ ansible.builtin.debug: msg: "{{ targets }}" -- name: Copy {{ role_name }} rules - ansible.builtin.copy: - dest: "{{ prometheus_data_dir }}/rules/{{ item }}" - content: "{{ lookup('ansible.builtin.template', 'rule.yml') }}" - loop: "{{ prometheus_rules.keys() }}" - notify: Reload {{ role_name }} +- name: Copy {{ role_name }} rules block + block: + - name: Copy {{ role_name }} rules + ansible.builtin.copy: + dest: "{{ prometheus_data_dir }}/rules/" + src: "{{ inventory_dir }}/prometheus_rules/{{ inventory_hostname }}/" + notify: Reload {{ role_name }} + + rescue: + - name: Show warning + ansible.builtin.debug: + msg: | + Could not copy prometheus rules. + There is probably no rules directory on the ansible controll node. + If you would likt to copy rules, create them in the directory + {{ inventory_dir }}/prometheus_rules/{{ inventory_hostname }}/. - name: Copy {{ role_name }} conf ansible.builtin.template: diff --git a/roles/prometheus/templates/rule.yml b/roles/prometheus/templates/rule.yml deleted file mode 100644 index 549afca0..00000000 --- a/roles/prometheus/templates/rule.yml +++ /dev/null @@ -1,2 +0,0 @@ -{{ ansible_managed | comment }} -{{ prometheus_rules[item] | from_yaml | to_nice_yaml(indent=2) }}