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:
Header | spec_version * | 14.15. spec_version |
package * | 14.12. package | |
Inventory | database | 14.5. database |
contracts | 14.3. contracts | |
datasources | 14.6. datasources | |
custom | 14.4. custom | |
Index definitions | indexes | 14.9. indexes |
templates | 14.16. templates | |
Hook definitions | hooks | 14.8. hooks |
jobs | 14.10. jobs | |
Integrations | hasura | 14.7. hasura |
sentry | 14.14. sentry | |
prometheus | 14.13. prometheus | |
Tunables | advanced | 14.2. advanced |
logging | 14.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.