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:
1
dipdup -c configs/config.yml run
Copied!

General structure

DipDup configuration file consists of several logical blocks:
Header
spec_version*
package*
Inventory
database*
contracts*
datasources*
Index definitions
indexes
templates
Integrations
sentry
hasura
Hooks
hooks
jobs
* — required sections

Environment variables

DipDup supports compose-style variable expansion with optional default value:
1
field: ${ENV_VAR:-default_value}
Copied!
You can use environment variables throughout the configuration file, except for property names (YAML object keys).

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 -c command-line option multiple times:
1
dipdup -c dipdup.yml -c dipdup.prod.yml run
Copied!
Run config export command if unsure about final config used by DipDup.
Last modified 1mo ago