---
title: Configuration
description: Every configuration key
---

# Configuration

`config.example.yaml` in the repository root carries every key with its default and is the
authoritative list. `config.yaml` is gitignored because it can hold an OTLP auth header.

Configuration is validated at startup and an unknown key is an error, not a warning. A typo in a key
that is silently ignored produces a service that runs and exports nothing.

Sections: `source`, `checkpoint`, `otlp`, `metrics`, `logs`, `traces`, `codexlb`, `health`,
`selfobs`, `drift`.

The two keys most worth understanding before a first deployment:

- `logs.record_types` decides whether conversation bodies ship. Empty means all of them. See
  [security](../security.md).
- `metrics.repo_allowlist` maps `cwd` to a bounded `codingagent.repo` dimension. Anything unmatched
  becomes `other`. `cwd` itself is never a metric attribute.
