Glossary¶
The words varTrack's docs, logs and web UI use, and what each one means here.
- Platform
- A Git server that sends varTrack push webhooks: an entry of
platformsinconfig.cue(github,gitea, or{type}-{tag}such asgitea-team). It also answers who a caller is and what they may do, for the CLI API and the web UI. - Datasource
- A place varTrack writes configuration to: an entry of
datasourcesinconfig.cue(mongo,redis,s3-minio, …). Its block holds the connection settings and credentials. Each datasource type is written by a sink. - Sink
- The code that writes one datasource type — MongoDB, Redis, ZooKeeper, S3, Kubernetes ConfigMap, Helm, Linux server. See Sinks.
- Rule
- What is synced, from where, to where and how: one entry of
rulesinconfig.cue, named by its platform and datasource (at most one rule per pair). A tenant'sbundle.jsonand a repository'svartrack.jsoncan adjust it. See How a rule is built. - Layer
- One of the files a rule is built from —
config.cue,bundle.json,vartrack.json— plusconfig.cue'sforce, applied last. Each overrides the one before. - Tenant
- A team the operator declares in
config.cue'stenants, with its own repositories and schema repository. A push belongs to the tenant whose repositories it came from. Itsbundle.jsonholds its layer of the rules, its CUE schemas validate its files, and the web UI shows each user the tenants' rules their Git account can read. A rule no tenant'sbundle.jsonnames belongs to tenantdefault. - Schema repository (schema registry)
- A tenant's Git repository with
bundle.jsonand the CUE schemas. See Schema registry. - Config repository
- A repository whose pushes a rule syncs: it holds the configuration files
(
configs/app.yaml, …) and, optionally, avartrack.json. - Preset
- A JSON file of rule settings in any repository, pulled into a
bundle.jsonor avartrack.jsonwithextends. See Presets. - Environment
- The label a push is synced under —
production,staging,pr-42,v1.2.0— from the rule'sbranch_map, or the branch, PR number or tag. See Environment resolution. - Target
- One environment of one datasource, for one tenant: the unit varTrack records state for, locks while writing, prunes and checks for drift. The web UI's Environments page lists targets.
- Desired state
- What Git says a target holds: the flat keys of the files last synced to it, kept per file in the sync ledger (Redis). Secrets are kept as digests, never as values.
- Flat key
- A value's path in its file, dot-separated:
database.host,api.regions.0. Every file format is read as flat keys; a sink stores them as they are, or nested again (MongoDB's document strategy, the JSON structure of Redis). - Key space
- Where in a store a target's keys land — a Redis hash or prefix, a ZooKeeper path. Two targets with the same key space write the same keys; prune never deletes a key another target still holds there.
- Sync
- One run that reads the pushed files at the pushed commit, validates them, and writes them
to the datasource: started by a push, by
vt sync, by the web UI, or by self-heal. Each sync is a task. - Prune
- Deleting keys varTrack wrote before that Git no longer holds, once per environment after its files are written. Only on sinks that keep each key separately. See What prune deletes.
- Drift
- A key whose value in the datasource differs from the desired state, or is missing. See Drift detection.
- Self-heal
- The watcher asking the orchestrator, on every poll, whether each
self_healrule's datasource still matches Git, and having it write Git's values back when it does not. - Dry run
- Not a sync: it reads, validates and reports what a sync would change, and writes nothing. In the web UI its log shows in the Sync panel.
- Leftover environment
- An environment in the store that the rule as it is now no longer produces (No longer synced by this rule). It is not compared with Git, its Sync, Dry run and Diff are disabled, and an administrator can Forget it.
- Refused rule
- A rule that names no environments or no file to read, or sets a
sync_modethat is not a mode, inconfig.cueor the tenant'sbundle.json. It is not loaded: nothing runs it, and the Rules page lists it with why. - Shape
- How a MongoDB datasource stores a file: one document per key (
STRATEGY_KEY_VALUE) or one document per file (STRATEGY_DOCUMENT,STRATEGY_FILE). Changing it replaces the other shape's documents and records a Shape changed event.