Configuration
DRC configuration has three layers:
- CLI flags for one invocation.
.drc/drc.tomlfor project-level defaults generated bydrc init.- Environment variables for API endpoints, client metadata, and credentials.
CLI flags take precedence over project defaults. Keep credentials outside source control.
Initialize project defaults
drc init --codebase . \
--language auto \
--telemetry off \
--auto-update off \
--non-interactive
Capture flags
| Flag | Meaning |
|---|---|
--port |
Proxy listen port; default 8080. |
--target-port |
Application target port; default 3000. |
--extra-port |
Additional dependency target port; repeatable. |
--capture-mode |
headers-only, metadata-plus, full-body, or sample. |
--sample-rate |
Sampling fraction for sample, between 0 and 1. |
Client environment variables
| Variable | Meaning |
|---|---|
DRC_ENDPOINT |
SDK/API base URL. |
DRC_API_URL |
API base URL for shell and web integrations. |
DRC_API_KEY |
API key supplied by a secret manager. |
DRC_ENVIRONMENT |
Environment label attached to captured executions. |
DRC_VERSION |
Service or build label attached to captured executions. |
DRC_TELEMETRY |
Optional CLI reporting control; set off to disable. |
Use HTTPS for non-local endpoints. SDKs reject credentials embedded in endpoint URLs.
Server configuration
If you operate the DRC API, provide database, storage, transport, identity, and audit settings through your platform’s protected configuration facility. Keep signing material, passwords, and raw API keys out of images, source files, URLs, and project files. The exact server settings are deployment-specific; client integrations should use the documented endpoint and authentication variables above.
Capture privacy
Use the narrowest capture mode that answers the question. Body capture is more sensitive than headers or metadata. Review authorization, cookie, token, password, secret, query-string, SQL, database-argument, and message-body fields before retaining captured data.
The Python client defaults to no raw request/response body capture; body capture is opt-in and bounded. All SDKs apply size validation and known-sensitive-field redaction, but application-specific data still requires review.
drc privacy audit capture.json --policy .drc/redaction.toml --fail-on-leak
API response limits
The public API contract bounds identifiers, tags, event data, metadata, request bodies, and list sizes. The current documented limits include 1 MiB event data, 64 KiB event metadata, at most 32 tags, and list limits up to 1000 items. Treat these as validation limits, not throughput guarantees.
Consent and automation
For CI, make consent explicit and non-interactive:
drc init --non-interactive --telemetry off --auto-update off
Use JSON output for automation and preserve execution/job IDs in CI artifacts according to your data-retention policy.