From 1dbcc24434210db2e2205a084b46cf7b3d3c675c Mon Sep 17 00:00:00 2001 From: Tudor Date: Thu, 26 Mar 2026 16:49:18 +0000 Subject: [PATCH] fix(airflow): stop deleting airflow.cfg, let processes share config Deleting airflow.cfg at container start caused the scheduler and api-server to each generate their own random JWT secret key, leading to 'Signature verification failed' when task workers communicated with the api-server. Let both processes share the config file generated by db migrate (env vars still override where needed). Co-Authored-By: Claude Opus 4.6 --- docker-compose.portainer.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docker-compose.portainer.yml b/docker-compose.portainer.yml index c8a9ff0..4fb7fd7 100644 --- a/docker-compose.portainer.yml +++ b/docker-compose.portainer.yml @@ -188,7 +188,7 @@ services: airflow: image: privaterepo.sitaru.org/tudor/school_compare-pipeline:latest container_name: schoolcompare_airflow - command: bash -c "rm -f /opt/airflow/airflow.cfg && airflow scheduler & exec airflow api-server --port 8080" + command: bash -c "airflow scheduler & exec airflow api-server --port 8080" ports: - "8080:8080" environment: @@ -196,7 +196,6 @@ 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__INTERNAL_API_SECRET_KEY: "${DB_PASSWORD}-airflow-internal" AIRFLOW__CORE__SIMPLE_AUTH_MANAGER_USERS: "${AIRFLOW_ADMIN_USER:-admin}:admin" AIRFLOW__LOGGING__BASE_LOG_FOLDER: /opt/airflow/logs PG_HOST: sc_database @@ -223,7 +222,7 @@ services: airflow-init: image: privaterepo.sitaru.org/tudor/school_compare-pipeline:latest container_name: schoolcompare_airflow_init - command: bash -c "airflow db migrate && rm -f /opt/airflow/airflow.cfg && airflow dags reserialize" + command: bash -c "airflow db migrate && airflow dags reserialize" environment: AIRFLOW__CORE__EXECUTOR: LocalExecutor AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${DB_USERNAME}:${DB_PASSWORD}@sc_database:5432/${DB_DATABASE_NAME}