added new var name for traefik cf

This commit is contained in:
Ubuntu
2026-01-12 00:35:38 +00:00
parent c12c7182bf
commit 2491f57eb2

View File

@@ -56,45 +56,34 @@
dest: "{{ target_dir }}/.env"
content: |
{# App Secrets & Cloudflare Secrets zusammenführen #}
{% set all_secrets = {} %}
{%- set all_secrets = {} -%}
{# 1. App Secrets laden #}
{% set app_sec_data = app_secrets.secret | default(app_secrets.data | default(app_secrets)) %}
{% if app_sec_data is mapping %}
{% set _ = all_secrets.update(app_sec_data) %}
{% endif %}
{%- set app_sec_data = app_secrets.secret | default(app_secrets.data | default(app_secrets)) -%}
{%- if app_sec_data is mapping -%}
{%- set _ = all_secrets.update(app_sec_data) -%}
{%- endif -%}
{# 2. Cloudflare Secrets (für Traefik Edge) laden #}
{% if cf_secrets_payload is defined and cf_secrets_payload is mapping %}
{% set _ = all_secrets.update(cf_secrets_payload) %}
{% endif %}
{%- if cf_secrets_payload is defined and cf_secrets_payload is mapping -%}
{%- set _ = all_secrets.update(cf_secrets_payload) -%}
{%- endif -%}
{# 3. Ausgabe #}
{% for key, value in all_secrets.items() %}
{% if key not in ['data', 'metadata', 'auth', 'lease_id', 'lease_duration', 'renewable', 'request_id', 'wrap_info', 'warnings', 'raw'] %}
{# Spezifisches Mapping für Traefik Edge #}
{% if app_item.name == 'traefik-edge' %}
{# Mapping Regeln #}
{% if key == 'api_token' %}
{%- for key, value in all_secrets.items() -%}
{%- if key not in ['data', 'metadata', 'auth', 'lease_id', 'lease_duration', 'renewable', 'request_id', 'wrap_info', 'warnings', 'raw'] -%}
{%- if app_item.name == 'traefik-edge' -%}
{%- if key == 'api_token' -%}
CF_DNS_API_TOKEN={{ value }}
CF_ZONE_API_TOKEN={{ value }}
{% elif key == 'email' %}
{%- elif key == 'email' -%}
CF_API_EMAIL={{ value }}
{% elif key in ['CLOUDFLARE_API_KEY', 'CLOUDFLARE_EMAIL'] %}
{# Alte Keys ignorieren #}
{% else %}
{# Alle anderen Keys 1:1 übernehmen #}
{%- elif key in ['CLOUDFLARE_API_KEY', 'CLOUDFLARE_EMAIL'] -%}
{%- else -%}
{{ key | trim }}={{ value }}
{% endif %}
{% else %}
{# Für alle anderen Apps: 1:1 übernehmen #}
{%- endif -%}
{%- else -%}
{{ key | trim }}={{ value }}
{% endif %}
{% endif %}
{% endfor %}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
mode: '0600'
when: (app_item.has_secrets | default(false) and app_secrets | length > 0) or (app_item.name == 'traefik-edge' and cf_secrets_payload is defined)