добавляет dag

This commit is contained in:
2025-11-04 00:17:47 +03:00
parent 319a7baa8b
commit 745f1ef2de
17 changed files with 425 additions and 4 deletions

54
scripts/init_airflow.sh Normal file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env bash
set -e
echo "Initializing Airflow..."
# Инициализация БД (только если первый запуск)
airflow db migrate
# Создание пользователя-админа
if ! airflow users list | grep -q "${AIRFLOW_ADMIN_EMAIL}"; then
echo "🧑‍💻 Creating Airflow admin user..."
airflow users create \
--username "${AIRFLOW_ADMIN_USER}" \
--firstname "${AIRFLOW_ADMIN_FIRSTNAME}" \
--lastname "${AIRFLOW_ADMIN_LASTNAME}" \
--role Admin \
--email "${AIRFLOW_ADMIN_EMAIL}" \
--password "${AIRFLOW_ADMIN_PASSWORD}"
else
echo "✅ Admin user already exists."
fi
# Создание подключения к Neo4j
if ! airflow connections list | grep -q "${NEO4J_CONN_ID}"; then
echo "🔌 Creating Neo4j connection..."
airflow connections add "${NEO4J_CONN_ID}" \
--conn-type neo4j \
--conn-host "${NEO4J_URI}" \
--conn-login "${NEO4J_USER}" \
--conn-password "${NEO4J_PASSWORD}" \
--conn-port "${NEO4J_PORT}"
else
echo "✅ Neo4j connection already exists."
fi
# Установка Airflow Variables из .env
echo "🧩 Setting Airflow Variables..."
# Helper для установки переменной, если её ещё нет
function set_variable() {
local key=$1
local value=$2
if ! airflow variables get "$key" &>/dev/null; then
airflow variables set "$key" "$value"
echo " $key = $value"
else
echo "$key already exists"
fi
}
set_variable "CONN_ID" "${NEO4J_CONN_ID}"
echo "🎉 Initialization complete! Starting webserver..."
exec airflow webserver