--- - name: Create var copied files set_fact: copied_files: [] - name: Generate values file from template template: src: "{{ item }}" dest: "/tmp/{{ item | basename | regex_replace('.j2', '') }}" loop: "{{ item.values_files|default([]) }}" when: item is match('.*\.j2$') register: template_action - name: Copy yaml values ansible.builtin.copy: src: "{{ item }}" dest: "/tmp/{{ item | basename }}" loop: "{{ item.values_files|default('[]') }}" when: not item is match('.*\.j2$') register: copy_action - name: Create list copied files with j2 set_fact: copied_files: "{{ copied_files + ['/tmp/' + (item | basename | regex_replace('.j2', ''))] }}" loop: "{{ item.values_files }}" - name: Add Helm repository community.kubernetes.helm_repository: name: "{{ item.repo_name }}" repo_url: "{{ item.repo_url }}" state: present - name: Install or upgrade Prometheus Helm chart community.kubernetes.helm: name: "{{ item.release }}" chart_ref: "{{ item.repo_name }}/{{ item.chart_name }}" release_namespace: "{{ item.namespace }}" create_namespace: true values_files: "{{ copied_files }}" state: present chart_version: "{{ item.version }}" - name: Remove prometheus values file file: path: "{{ item }}" state: absent loop: "{{ copied_files }}"