- Install Docker Desktop with Linux containers enabled.
- Copy
.env.exampleto.envand replace placeholders with integration credentials. Never commit.env. - Rotate the Snowflake credential that was previously committed.
- Build and initialize Airflow:
docker compose build
docker compose up airflow-init
docker compose up -d airflow-webserver airflow-schedulerOpen http://localhost:8080 and sign in with the credentials configured in
.env. Run earnest_daily_pipeline first with validation_only=true; this
checks the input contract without contacting external services.
Run lightweight tests outside Docker with:
python -m pip install -r requirements-dev.txt
pytest -q python_testsSpark transformation tests run inside the Airflow image (which includes Java and PySpark):
docker compose run --rm airflow-scheduler pytest -q spark/testsSee orchestration.md for connection fields and task flow.