Config file reference

DipDup configuration is stored in YAML files of a specific format. By default, DipDup searches for dipdup.yml file in the current working directory, but you can provide any path with a -c CLI option:

dipdup -c configs/config.yml run

General structure

DipDup configuration file consists of several logical blocks:

Headerspec_version*14.15. spec_version
package*14.12. package
Inventorydatabase14.5. database
contracts14.3. contracts
datasources14.6. datasources
custom14.4. custom
Index definitionsindexes14.9. indexes
templates14.16. templates
Hook definitionshooks14.8. hooks
jobs14.10. jobs
Integrationshasura14.7. hasura
sentry14.14. sentry
prometheus14.13. prometheus
Tunablesadvanced14.2. advanced
logging14.11. logging

* — required fields

Merging config files

DipDup allows you to customize the configuration for a specific environment or a workflow. It works similar to docker-compose, but only for top-level sections. If you want to override a nested property, you need to recreate a whole top-level section. To merge several DipDup config files, provide the -c command-line option multiple times:

dipdup -c dipdup.yml -c dipdup.prod.yml run

Run config export command if unsure about the final config used by DipDup.