Configuration Overview
This document summarizes how Baselinr configuration is organized and where to place different settings.
Top-Level Structure
config.yml— global defaults and service settings (profiling defaults, drift defaults, validation defaults, hooks, storage, UI settings).contracts/— ODCS data contract files (.odcs.yaml) that define dataset schemas, quality rules, and SLAs. Controlled by:contracts:
directory: ./contracts
recursive: true
validate_on_load: truehooks/,storage,connections— defined inconfig.ymlas before.
What Belongs Where
- Global defaults: Keep in
config.yml(profiling defaults, drift defaults, validation defaults, anomaly defaults). - Dataset-specific overrides: Use ODCS contracts in
contracts/directory (seeODCS_DATA_CONTRACTS.md). - Column-level settings: Define in ODCS contract
dataset[].columns[]sections. - dbt imports: When enabled, can be converted to ODCS contracts.
Precedence (Most Specific Wins)
- ODCS contract dataset-level configs (from
contracts/*.odcs.yaml) - Global defaults in
config.yml
Contract-level customProperties can override global defaults for specific tables.
Recommended Workflow
- Define global defaults in
config.yml. - Create ODCS contracts for your datasets in
contracts/directory. - Define quality rules, SLAs, and dataset-specific configs in contracts.
- Use the dashboard Contracts page to view and manage contracts.
Validation & Preview
- CLI:
baselinr validate-config --config config.yml - CLI:
baselinr contracts validate --config config.ymlto validate ODCS contracts - Dashboard: Contracts page provides contract management and validation.
Getting Started
- See
docs/guides/ODCS_DATA_CONTRACTS.mdfor complete documentation on using ODCS contracts.