all configuration files, like db connections, server credentials, project configurations etc. Usually in yaml
all the code, all pipelines
all connectors, notifications, transformations, generators, etc - all staff of that kind.
all ETL testing, Unit-testing, integration, etc
database versioning (dwh versioning with Alembic in my case)
a runner, which accepts parameters and runs specific pipeline or perform specific needs, for example:
python run.py --script=load_sales --env=dev