Documentation
¶
Overview ¶
Command nova-config is the one tool for the fleet's permanent, non-ephemeral configuration: it owns Postgres (schema `config`, its migrations, its history) and every registry of the fleet, and it applies that configuration into Redis so Redis is always a rebuildable copy. The runtime tools (nova-friend, nova-sprint) read configuration and never write it. The contract is docs/SPEC-CONFIG.md; the guide is docs/nova-config/README.md.
Every kind (machine, friend, fleet) has the same six verbs -- add, remove, set, list, show, history -- generated from its descriptor in internal/config, so every kind has identical flags, help and refusals; a singleton kind (fleet: one row the migration creates) has set, show and history without a name. apply diffs Postgres against Redis per kind and writes the difference through the runtime's own Redis Functions, compare-and-set on a revision stamped in config:decl.
Exit 0 done, 1 refused (the store or Redis said no: a duplicate, a missing row, a ceiling, a conflict), 2 usage (could not run: a flag, a store that did not answer). A refusal is one stderr line naming the next step.