0012 zenml airflow orchestrator natif
ADR-12 — ZenML Airflow Orchestrator natif¶
Décision : ZenML génère des DAGs Airflow. Chaque step s'exécute dans un container K8s séparé via KubernetesPodOperator. Les DAGs sont publiés via git-sync.
Invariants :
- Le moteur ADR-12 est GELÉ — on ne touche pas à l'orchestrateur, au git-sync, ni au Helm chart sauf bug clair
- Chaque step ZenML tourne dans un pod K8s séparé (pas dans le scheduler)
- Les credentials sont injectées via env_from (ConfigMap + Secrets), JAMAIS hardcodées
- L'image runtime est CI-built (rg.fr-par.scw.cloud/cvntrade/airflow:<sha>), JAMAIS latest
- skip_build=True dans DockerSettings — ZenML NE DOIT JAMAIS builder d'image
- Helm chart : version 1.16.0 UNIQUEMENT (1.19.0 incompatible)
- Standalone dag-processor : DÉSACTIVÉ (le scheduler parse les DAGs)
- Le DAG est publié dans dococeven/cvntrade-airflow-dags via git-sync
- Les launchers (launch__*) sont la SEULE façade opérateur — jamais trigger les pte__* directement
Fichiers concernés : infra/helm/airflow/values-prod.yaml, infra/k8s/configmap-env.yaml, zenml_pipelines/pipelines/*.py, dags/launch__*.py