feat(init): adding init image for auto creation of connections

This commit is contained in:
2023-05-10 16:20:58 +02:00
parent d84b111049
commit e21444bf46
4 changed files with 61 additions and 15 deletions

View File

@ -0,0 +1,11 @@
FROM reg.cadoles.com/proxy_cache/apache/airflow:2.5.3-python3.10
USER root
COPY --chown=airflow:root ./scripts/ ${AIRFLOW_HOME}/scripts/
RUN chmod +x ./scripts/*
USER airflow
ENTRYPOINT [ "/usr/bin/dumb-init", "--" ]
CMD [ "./scripts/create-connections.sh" ]

View File

@ -0,0 +1,32 @@
#!/bin/bash
# Simple script to provision AIRFLOW_CONNECTIONS !
export SQLALCHEMY_SILENCE_UBER_WARNING=1
#export AIRFLOW_CONN_AIRFLOW_DB="${connection}"
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN="${connection}"
export AIRFLOW__CORE__SQL_ALCHEMY_CONN="${connection}"
echo "====================================="
conns=$(compgen -v -X '!*AIRFLOW_CONN_*')
if [ -z "${conns}" ];then
echo " Nothing to do"
echo "====================================="
else
for conn in ${conns}
do
name="${conn#"AIRFLOW_CONN_"}"
value=$(eval "echo -e ${!conn}")
echo "Creating ${name}: ${value}"
ex=$(airflow connections add "${name}" --conn-uri ${value} 2>&1)
if [ "${?}" -ne 0 ]; then
echo "${conn}: Bad connection definition"
echo "= Error =========================="
echo "${ex}"
echo "= End error======================="
else
echo "= Ok ================================"
fi
done
fi