Advanced Usage
Project Health Configuration
You can configure the project health settings by providing a configuration file. The configuration file is a YAML file that contains the following fields:
version: v1
# Insights to disable
disabled_insights:
- source_staging_model_integrity
- downstream_source_dependence
- Duplicate_Sources
- hard_coded_references
- rejoining_upstream_concepts
- model_fanout
- multiple_sources_joined
# Define patterns to identify different types of models
model_type_patterns:
staging: "^stg_.*" # Regex for staging models
mart: "^(mrt_|mart_|fct_|dim_).*" # Regex for mart models
intermediate: "^int_.*" # Regex for intermediate models
base: "^base_.*" # Regex for base models
# Configure insights
insights:
# Set minimum test coverage percent and severity for 'Low Test Coverage in DBT Models'
dbt_low_test_coverage:
min_test_coverage_percent: 30
severity: WARNING
# Configure maximum fanout for 'Model Fanout Analysis'
model_fanout.max_fanout: 10
# Configure maximum fanout for 'Source Fanout Analysis'
source_fanout.max_fanout: 10
# Define model types considered as downstream for 'Staging Models Dependency Check'
staging_models_dependency.downstream_model_types:
- mart
Key Sections of the config file
disabled_insights: Insights that you want to disable
model_type_patterns: Regex patterns to identify different model types like staging, mart, etc.
insights: Custom configurations for each insight. For each insight, you can set specific thresholds, severity levels, or other parameters.
Severity can have 3 values -> INFO, WARNING, ERROR
Overriding default configs for the insights
To change the severity level or set a threshold, modify the corresponding insight under the insights section. For example:
insights:
dbt_low_test_coverage:
severity: WARNING
For insights with more complex configurations (like fanout thresholds or model types), you need to specify the insight name and corresponding parameter under insights. For example:
insights:
model_fanout.max_fanout: 10