Configuring your Sources
The available configurations for Sources and their use cases.
Part of the “Mastering dbt” series. Access to the full Study Guide. Let’s connect on LinkedIn!
Notes from this documentation.
In this post, we will cover the available configurations for Sources and their use cases. Some are available for multiple resources and may have already been covered previously, but I tried to provide examples specific to Sources.
Configuring Sources
Sources are configured in the same file as the properties in a dedicated sources.yml file. The source property post has some best practices on this. They can also be configured in the dbt_project.yml, but the recommendation is to only do that with sources imported from packages.
Available configs
These are the properties available for Sources to be declared under the “config:” key.

enabled:
This config is available for all resources and allows you to enable or disable a resource. When a resource is disabled, dbt does not consider it part of the project.
For example, you may want to disable a source imported from a package so it doesn’t show in the documentation or undergo source freshness checks.

event_time:
Required for incremental materialisations and CI/CD workflows, both concepts will be covered in future Checkpoints. Set it to the name of the field that represents the actual time the event each row represents occurred.
meta:
You can have additional key-value pairs added to your metadata that will be compiled into the manifest.json file and visible in the documentation.

freshness:
The concept of source freshness will be explained in the next blog post in more detail, but it essentially tells dbt the criteria for your source to be considered fresh.