From 20cf8f63abf51a94cfefc1d1ad85691f4e87be7b Mon Sep 17 00:00:00 2001 From: Preet Shah <48907607+preetsshah@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:09:42 +0530 Subject: [PATCH] Update ingestion_dependency.sh (#14139) * Update ingestion_dependency.sh * Add parameter for DB connection properties --------- Co-authored-by: Akash Jain <15995028+akash-jain-10@users.noreply.github.com> --- docker/development/docker-compose.yml | 6 ++++++ ingestion/ingestion_dependency.sh | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docker/development/docker-compose.yml b/docker/development/docker-compose.yml index 5107c6ab9c8..e72232ccf83 100644 --- a/docker/development/docker-compose.yml +++ b/docker/development/docker-compose.yml @@ -359,6 +359,12 @@ services: DB_USER: ${AIRFLOW_DB_USER:-airflow_user} DB_PASSWORD: ${AIRFLOW_DB_PASSWORD:-airflow_pass} + # extra connection-string properties for the database + # EXAMPLE + # require SSL (only for Postgres) + # properties: "?sslmode=require" + DB_PROPERTIES: "" + # To test the lineage backend # AIRFLOW__LINEAGE__BACKEND: airflow_provider_openmetadata.lineage.backend.OpenMetadataLineageBackend # AIRFLOW__LINEAGE__AIRFLOW_SERVICE_NAME: local_airflow diff --git a/ingestion/ingestion_dependency.sh b/ingestion/ingestion_dependency.sh index 56f03e097ad..2d0d864c189 100755 --- a/ingestion/ingestion_dependency.sh +++ b/ingestion/ingestion_dependency.sh @@ -17,15 +17,17 @@ AIRFLOW_DB=${AIRFLOW_DB:-airflow_db} DB_USER=${DB_USER:-airflow_user} DB_SCHEME=${DB_SCHEME:-mysql+pymysql} DB_PASSWORD=${DB_PASSWORD:-airflow_pass} - -DB_CONN="${DB_SCHEME}://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${AIRFLOW_DB}" +DB_PROPERTIES=${DB_PROPERTIES} AIRFLOW_ADMIN_USER=${AIRFLOW_ADMIN_USER:-admin} AIRFLOW_ADMIN_PASSWORD=${AIRFLOW_ADMIN_PASSWORD:-admin} -OPENMETADATA_SERVER=${OPENMETADATA_SERVER:-"http://openmetadata-server:8585"} +DB_USER_VAR=`echo "${DB_USER}" | python3 -c "import urllib.parse; encoded_user = urllib.parse.quote(input()); print(encoded_user)"` +DB_PASSWORD_VAR=`echo "${DB_PASSWORD}" | python3 -c "import urllib.parse; encoded_user = urllib.parse.quote(input()); print(encoded_user)"` -export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN="${DB_CONN}" +DB_CONN=`echo -n "${DB_SCHEME}://${DB_USER_VAR}:${DB_PASSWORD_VAR}@${DB_HOST}:${DB_PORT}/${AIRFLOW_DB}${DB_PROPERTIES}"` + +export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=$DB_CONN airflow db init