Skip to main content
The config.yml file at the root of your repository is the configuration file you’ll use to define your project’s connections and project-wide settings. The two keys most projects need are:
  1. databases: database connections
  2. models: foundation model connections
A sample config.yml file is shown below:

Top-level keys

A legacy top-level slack: block is ignored — Slack is connected per org from the web app. admins: is also ignored; platform owners are set with the OXY_OWNER environment variable.

Health checks

Health checks are off until a workspace opts in by adding a health_check: block. Once on, Oxygen evaluates the workspace on a schedule and runs a cheap smoke test that checks every database connection with SELECT 1. Heavier probes are opt-in:
health_check: {} turns checks on with the defaults; enabled: false inside the block (or inside smoke_test) turns them off again.
The semantic and agents probes run real warehouse queries (and, for agents, LLM calls) on every smoke run. On bytes-billed warehouses a semantic probe over a large fact table is a recurring cost, and on Snowflake even the connection check resumes a suspended warehouse.

Environment Variables

You can use environment variables for database connection parameters instead of hardcoding values. This is recommended for production deployments and keeping sensitive data out of version control. For example:
See the Environment Variables Reference for complete documentation.

Git Branch Workflow

If your workspace is a git repository, config.yml can also configure how the IDE handles saves on protected branches and where new feature branches fork from (protected_branches, base_branch). See the Branch Configuration reference for details.

Additional Resources

To get more information about connecting to databases or models, you can reference our integrations section.