Правки airflow-init
This commit is contained in:
@@ -7,7 +7,7 @@ down:
|
|||||||
docker compose -f docker-compose.yml down -v
|
docker compose -f docker-compose.yml down -v
|
||||||
|
|
||||||
airflow-init:
|
airflow-init:
|
||||||
docker compose -f docker-compose.yml run --rm airflow-init
|
docker compose -f docker-compose.yml run --rm --profile init airflow-init
|
||||||
|
|
||||||
logs:
|
logs:
|
||||||
docker compose -f docker-compose.yml logs -f airflow-webserver airflow-scheduler
|
docker compose -f docker-compose.yml logs -f airflow-webserver airflow-scheduler
|
||||||
|
|||||||
@@ -117,20 +117,30 @@ services:
|
|||||||
|
|
||||||
airflow-init:
|
airflow-init:
|
||||||
image: apache/airflow:2.9.2
|
image: apache/airflow:2.9.2
|
||||||
container_name: gp_airflow_init
|
# container_name: gp_airflow_init
|
||||||
|
profiles: ["init"]
|
||||||
env_file: .env
|
env_file: .env
|
||||||
environment:
|
environment:
|
||||||
|
AIRFLOW__CORE__LOAD_EXAMPLES: "False"
|
||||||
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${PG_USER}:${PG_PASSWORD}@pgmeta:5432/${PG_DB}
|
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://${PG_USER}:${PG_PASSWORD}@pgmeta:5432/${PG_DB}
|
||||||
volumes:
|
volumes:
|
||||||
- ./airflow/dags:/opt/airflow/dags
|
- ./airflow/dags:/opt/airflow/dags
|
||||||
- ./airflow/requirements.txt:/opt/airflow/requirements.txt
|
- ./airflow/requirements.txt:/opt/airflow/requirements.txt
|
||||||
entrypoint: ["/bin/bash", "-lc"]
|
command: >
|
||||||
command: |
|
bash -lc "
|
||||||
set -e
|
set -e;
|
||||||
until pg_isready -h pgmeta -U ${PG_USER} -d ${PG_DB}; do echo 'waiting for pgmeta'; sleep 2; done
|
pip install --no-cache-dir -r /opt/airflow/requirements.txt;
|
||||||
pip install --no-cache-dir -r /opt/airflow/requirements.txt
|
# Дожидаемся готовности БД ретрая миграции
|
||||||
airflow db migrate
|
for i in {1..30}; do
|
||||||
airflow users create --username ${AIRFLOW_USER} --password ${AIRFLOW_PASSWORD} --firstname Admin --lastname User --role Admin --email admin@example.org
|
airflow db migrate && break || echo 'waiting for pgmeta' && sleep 3;
|
||||||
|
done;
|
||||||
|
# Создаём админа; при повторном запуске не падаем
|
||||||
|
airflow users create
|
||||||
|
--username ${AIRFLOW_USER}
|
||||||
|
--password ${AIRFLOW_PASSWORD}
|
||||||
|
--firstname Admin --lastname User
|
||||||
|
--role Admin --email admin@example.org || true
|
||||||
|
"
|
||||||
depends_on:
|
depends_on:
|
||||||
pgmeta:
|
pgmeta:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
Reference in New Issue
Block a user