Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.buster.so/llms.txt

Use this file to discover all available pages before exploring further.

Complete reference for the buster.yml configuration file.

File Location

The file must be named buster.yml or buster.yaml and placed in your repository root.

Complete Schema

# Required: At least one project
projects:
  - name: string              # Required
    data_source: string       # Required
    database: string          # Optional (required for some warehouses)
    schema: string            # Required
    include:                  # Optional
      - "**/*.yml"
    exclude:                  # Optional
      - "**/draft-*.yml"

# Optional: Paths to agent files
agents:
  - .buster/agents/my-agent.yml

# Optional: Query logs writeback
logs:
  data_source: string         # Optional
  database: string            # Required
  schema: string              # Required
  table_name: string          # Optional: defaults to "buster_query_logs"

# Optional: Data quality monitors
monitors:
  - name: string              # Required
    type: string              # Required
    schedule: string          # Required
    data_source: string       # Optional
    enabled: boolean          # Optional: defaults to true

# Optional: Default data source for monitors
data_source: string

# Optional: Path to dbt project
dbt_project_path: string

Fields

projects

projects
array
required
List of project configurations. At least one project is required.
projects:
  - name: analytics
    data_source: postgres_prod
    schema: public

agents

agents
array
Paths to agent YAML files, relative to buster.yml.
agents:
  - .buster/agents/documentation.yml
  - .buster/agents/pr-reviewer.yml
See Agent YAML Reference for agent file format.

logs

logs
object
Configure query logs writeback to store Buster query history in your warehouse.
logs:
  database: analytics
  schema: logs
  table_name: buster_query_logs

monitors

monitors
array
Data quality monitors that run on a schedule to detect schema changes, data anomalies, and staleness.
monitors:
  - name: daily_schema_check
    type: schema_drift
    schedule: "0 9 * * *"
    enabled: true

  - name: hourly_freshness
    type: freshness
    schedule: hourly

  - name: volume_check
    type: volume_anomaly
    schedule: daily

data_source

data_source
string
Default data source for all monitors.
data_source: postgres_prod

dbt_project_path

dbt_project_path
string
Path to your dbt project root, relative to buster.yml. If omitted, Buster searches for dbt_project.yml automatically.
dbt_project_path: ./dbt

Examples

Minimal

projects:
  - name: analytics
    data_source: postgres_prod
    schema: public

With Agents

projects:
  - name: analytics
    data_source: postgres_prod
    schema: public

agents:
  - .buster/agents/documentation.yml
  - .buster/agents/pr-reviewer.yml

Multiple Data Sources

projects:
  - name: production
    data_source: snowflake_prod
    database: analytics
    schema: marts

  - name: staging
    data_source: snowflake_staging
    database: analytics_dev
    schema: marts

agents:
  - .buster/agents/documentation.yml

Full Configuration

projects:
  - name: analytics
    data_source: postgres_prod
    database: analytics
    schema: public
    include:
      - "models/**/*.yml"
    exclude:
      - "**/draft-*.yml"

agents:
  - .buster/agents/documentation.yml
  - .buster/agents/pr-reviewer.yml

logs:
  database: analytics
  schema: logs
  table_name: buster_query_logs

monitors:
  - name: daily_schema_check
    type: schema_drift
    schedule: "0 9 * * *"
    enabled: true

  - name: hourly_freshness
    type: freshness
    schedule: hourly

  - name: json_structure_check
    type: json_drift
    schedule: daily

  - name: volume_anomaly_check
    type: volume_anomaly
    schedule: "0 */6 * * *"

data_source: postgres_prod

dbt_project_path: ./dbt

Project Structure

Recommended repository structure:
my-repo/
├── buster.yml              # Main configuration
├── .buster/
│   └── agents/
│       ├── documentation.yml
│       └── pr-reviewer.yml
├── models/
│   ├── staging/
│   └── marts/
└── dbt_project.yml

Deploying

Deploy your configuration:
buster deploy
Validate without deploying:
buster deploy --dry-run