Skip to main content

Config & Settings

Clone-Xs configuration lives in two places:

  • clxs.yaml — the source-of-truth file, edited via the Config page at /config
  • Settings page at /settings — user-level preferences (theme, sidebar collapse, feature toggles, AI/Genie endpoints) stored in localStorage

This page covers the YAML config. For per-user UI preferences see the in-app Settings drawer.

Config page

/config shows:

  • Profile picker — list of named profiles (e.g. default, prod, staging) defined in clxs.yaml
  • YAML editor — full-width monospace textarea (500 px min height) with the resolved YAML for the active profile
  • Reload — re-fetches from the backend, discarding edits
  • SavePUT /config validates and persists to disk

Profiles

A profile is a named bundle of options. Activate one with --profile prod on the CLI or by selecting it in the picker. Profiles inherit from a default block, so most profiles only need to override what differs:

default:
warehouse_id: 1234abcd
parallelism: 4
exclude_schemas: [_temp, _scratch]

profiles:
prod:
warehouse_id: 5678efgh # override
parallelism: 16
safety:
require_diff_approval: true

staging:
parallelism: 2

Common knobs

KeyPurpose
warehouse_idSQL warehouse used for clone, sync, validation
parallelismWorker threads for table-level operations
exclude_schemasSchemas to skip in clone/sync
exclude_tablesTables to skip (FQN list)
copy_optionsPer-format options (Parquet compression, CSV delimiter…)
safetyConfirm thresholds, require approval, max destructive ops
piiDetection scope, action (tag / mask / block)
audit_retention_daysAudit log retention (default 90)

See the Configuration reference for the full schema.

API

GET  /config                  # active profile, fully resolved
GET /config/profiles # list available profile names
PUT /config { yaml_content } # validates and saves

The backend validates against the schema before writing — invalid YAML returns a 422 with the offending key path.