38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
---
|
|
- name: Render DAG .yaml.j2 templates safely
|
|
hosts: localhost
|
|
connection: local
|
|
gather_facts: false
|
|
|
|
vars:
|
|
# Hardcoded fallback for DAGs path
|
|
dags_path: "{{ lookup('env', 'DAGS_PATH') }}"
|
|
vault_addr: "{{ lookup('env', 'VAULT_ADDR') }}"
|
|
vault_token: "{{ lookup('env', 'VAULT_TOKEN') }}"
|
|
|
|
tasks:
|
|
- name: Build list of DAG template files
|
|
ansible.builtin.set_fact:
|
|
dag_templates: >-
|
|
{{
|
|
lookup('ansible.builtin.fileglob', dags_path ~ '/*.yaml.j2', wantlist=True)
|
|
| default([])
|
|
}}
|
|
|
|
- name: Render DAG templates in-place (guarded)
|
|
when: dag_templates | length > 0
|
|
ansible.builtin.template:
|
|
src: "{{ item }}"
|
|
dest: "{{ item | regex_replace('\\.j2$', '') }}"
|
|
mode: '0644'
|
|
loop: "{{ dag_templates }}"
|
|
vars:
|
|
ansible_jinja2_native: true
|
|
ignore_errors: false
|
|
|
|
- name: Log rendered files
|
|
when: dag_templates | length > 0
|
|
loop: "{{ dag_templates }}"
|
|
ansible.builtin.debug:
|
|
msg: "Rendered {{ item }} -> {{ item | regex_replace('\\.j2$', '') }}"
|