From 72ef1b03b7c19b1e84463b39ebc10c0aca8799ba Mon Sep 17 00:00:00 2001 From: Tudor Date: Thu, 26 Mar 2026 20:11:06 +0000 Subject: [PATCH] fix(airflow): use correct Airflow 3 env vars for multi-container JWT and Execution API Replace Airflow 2.x env vars (CORE__SECRET_KEY, CORE__INTERNAL_API_URL) with correct Airflow 3.x equivalents (API_AUTH__JWT_SECRET, API_AUTH__JWT_ISSUER, CORE__EXECUTION_API_SERVER_URL) on all three Airflow services. Co-Authored-By: Claude Opus 4.6 --- docker-compose.portainer.yml | 13 +++++++++---- docker-compose.yml | 3 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docker-compose.portainer.yml b/docker-compose.portainer.yml index baf724d..bf7aaf2 100644 --- a/docker-compose.portainer.yml +++ b/docker-compose.portainer.yml @@ -196,7 +196,9 @@ services: AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${DB_USERNAME}:${DB_PASSWORD}@sc_database:5432/${DB_DATABASE_NAME} AIRFLOW__CORE__DAGS_FOLDER: /opt/pipeline/dags AIRFLOW__CORE__LOAD_EXAMPLES: "false" - AIRFLOW__CORE__SECRET_KEY: "school-compare-airflow-secret-key-that-is-long-enough-for-sha512-jwt-signing" + AIRFLOW__CORE__EXECUTION_API_SERVER_URL: http://airflow-api-server:8080/execution/ + AIRFLOW__API_AUTH__JWT_SECRET: "school-compare-airflow-jwt-secret-key-long-enough-for-sha512" + AIRFLOW__API_AUTH__JWT_ISSUER: airflow AIRFLOW__CORE__SIMPLE_AUTH_MANAGER_USERS: "${AIRFLOW_ADMIN_USER:-admin}:admin" AIRFLOW__LOGGING__BASE_LOG_FOLDER: /opt/airflow/logs PG_HOST: sc_database @@ -231,8 +233,9 @@ services: AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${DB_USERNAME}:${DB_PASSWORD}@sc_database:5432/${DB_DATABASE_NAME} AIRFLOW__CORE__DAGS_FOLDER: /opt/pipeline/dags AIRFLOW__CORE__LOAD_EXAMPLES: "false" - AIRFLOW__CORE__SECRET_KEY: "school-compare-airflow-secret-key-that-is-long-enough-for-sha512-jwt-signing" - AIRFLOW__CORE__INTERNAL_API_URL: http://airflow-api-server:8080 + AIRFLOW__CORE__EXECUTION_API_SERVER_URL: http://airflow-api-server:8080/execution/ + AIRFLOW__API_AUTH__JWT_SECRET: "school-compare-airflow-jwt-secret-key-long-enough-for-sha512" + AIRFLOW__API_AUTH__JWT_ISSUER: airflow AIRFLOW__LOGGING__BASE_LOG_FOLDER: /opt/airflow/logs PG_HOST: sc_database PG_PORT: "5432" @@ -260,7 +263,9 @@ services: AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${DB_USERNAME}:${DB_PASSWORD}@sc_database:5432/${DB_DATABASE_NAME} AIRFLOW__CORE__DAGS_FOLDER: /opt/pipeline/dags AIRFLOW__CORE__LOAD_EXAMPLES: "false" - AIRFLOW__CORE__SECRET_KEY: "school-compare-airflow-secret-key-that-is-long-enough-for-sha512-jwt-signing" + AIRFLOW__CORE__EXECUTION_API_SERVER_URL: http://airflow-api-server:8080/execution/ + AIRFLOW__API_AUTH__JWT_SECRET: "school-compare-airflow-jwt-secret-key-long-enough-for-sha512" + AIRFLOW__API_AUTH__JWT_ISSUER: airflow depends_on: sc_database: condition: service_healthy diff --git a/docker-compose.yml b/docker-compose.yml index 354ace6..d3f36e3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -108,6 +108,9 @@ services: AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://schoolcompare:schoolcompare@db:5432/schoolcompare AIRFLOW__CORE__DAGS_FOLDER: /opt/pipeline/dags AIRFLOW__CORE__LOAD_EXAMPLES: "false" + AIRFLOW__CORE__EXECUTION_API_SERVER_URL: http://airflow-api-server:8080/execution/ + AIRFLOW__API_AUTH__JWT_SECRET: "school-compare-airflow-jwt-secret-key-long-enough-for-sha512" + AIRFLOW__API_AUTH__JWT_ISSUER: airflow AIRFLOW__CORE__SIMPLE_AUTH_MANAGER_USERS: "admin:admin" PG_HOST: db PG_PORT: "5432"