feat(init): adding init image for auto creation of connections
This commit is contained in:
11
images/airflow-init/Dockerfile
Normal file
11
images/airflow-init/Dockerfile
Normal 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" ]
|
32
images/airflow-init/scripts/create-connections.sh
Normal file
32
images/airflow-init/scripts/create-connections.sh
Normal 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
|
Reference in New Issue
Block a user