Skip to content

Commit

Permalink
update docs and env
Browse files Browse the repository at this point in the history
  • Loading branch information
kolok committed Apr 3, 2024
1 parent 22b825b commit 05cafe2
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 7 deletions.
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,35 @@ les dags sont déployés sur un bucket s3, dans un dossier au nom de l'environne
- s3://qfdmo-dags/preprod
- s3://qfdmo-dags/production

Cette copie est faite via la CI/CD github action

Airflow est déployé avecun seul DAG `doswnload_dags_from_s3` qui télécharge les dags de preprod et de production à partir des repo s3.

### Déploiement des DAGs en environnement de développement

En environnement de développement, on précisera l'emplacement des DAGs avec la variable d'environnement AIRFLOW_DAGS_LOCAL_FOLDER avant le lancement des container docker. Par exemple :

```sh
export AIRFLOW_DAGS_LOCAL_FOLDER=$HOME/workspace/beta.gouv.fr/qfdmo-dags/development
```

Ce dossier est monté dans les containers docker à l'emplacement `/opt/airflow/development`

Puis copier les variable d'environnement dags/.env.template vers dags/.env

```sh
cp .env.template .env
```

Enfin, lancer les containers docker

```sh
docker compose up
```

## Reste à faire

- [ ] Aujourd'hui, on a 1 seule bucket de log pour tout les environnements
- [ ] Strategie pour publier des dag de preprod et de prod en les identifiant et en permettant des config différentes
- [ ] Strategie pour publier des dags de preprod et de prod en les identifiant et en permettant des config différentes
- [ ] Déployer les dags sur le s3 de preprod quand on pousse le code dans la branche main
- [ ] Déployer les dags sur le s3 de production quand on tag le repo avec un tags de release (format vx.y.z)
1 change: 1 addition & 0 deletions dags/.env.template
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
LOCAL_DAGS_FOLDER=/opt/airflow/development
3 changes: 2 additions & 1 deletion development/create_final_actors.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,8 @@ def write_data_to_postgres(**kwargs):
"modifie_le",
"naf_principal",
"commentaires",
"horaires",
"horaires_osm",
"horaires_description",
"description",
]
].to_sql(
Expand Down
10 changes: 5 additions & 5 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ x-airflow-common:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__API__AUTH_BACKENDS: 'airflow.api.auth.backend.basic_auth,airflow.api.auth.backend.session'
# Uncomment the next 4 lines to store logs in S3
AIRFLOW__LOGGING__REMOTE_LOGGING: 'true'
AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER: "s3://qfdmo-airflow-logs"
AIRFLOW__LOGGING__REMOTE_LOG_CONN_ID: 's3logs'
AIRFLOW__LOGGING__ENCRYPT_S3_LOGS: "false"
# AIRFLOW__LOGGING__REMOTE_LOGGING: 'true'
# AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER: "s3://qfdmo-airflow-logs"
# AIRFLOW__LOGGING__REMOTE_LOG_CONN_ID: 's3logs'
# AIRFLOW__LOGGING__ENCRYPT_S3_LOGS: "false"
AIRFLOW__SCHEDULER__ENABLE_HEALTH_CHECK: 'true'
# WARNING: Use _PIP_ADDITIONAL_REQUIREMENTS option ONLY for a quick checks
# for other purpose (development, test and especially production usage) build/extend Airflow image.
Expand All @@ -27,7 +27,7 @@ x-airflow-common:
- ${AIRFLOW_PROJ_DIR:-.}/dags:/opt/airflow/dags
- ${AIRFLOW_PROJ_DIR:-.}/config:/opt/airflow/config
- ${AIRFLOW_PROJ_DIR:-.}/plugins:/opt/airflow/plugins
- ~/workspace/beta.gouv.fr/qfdmo-dags/development:/opt/airflow/development
- $AIRFLOW_DAGS_LOCAL_FOLDER:/opt/airflow/development
user: "${AIRFLOW_UID:-50000}:0"
extra_hosts:
- "host.docker.internal:host-gateway"
Expand Down

0 comments on commit 05cafe2

Please sign in to comment.