030-operational-verbs
The verbs and the binary composer: preflight, migrate, backup, restore, ledger verify
Lifecycle approvedImplementation completeVerification unknownQualification unknown
Operations that exist. rahi-ops implements preflight (config, keys, both stores' health, disk), migrate (spec 011's migrations as a deploy step, leader-only), backup (one encrypted archive holding the app's hiqlite snapshot taken through the addon, rauthy's snapshot taken through rauthy's own API, and the key material that decrypts both), restore (a cluster reset that refuses partial input and is single-shot by a marker), and ledger verify (spec 013 over an exported chain). rahi-cli is the binary composer: an app implements the Cell trait and its main is rahi_cli::run(cell), which yields serve plus every verb with the four exit codes. Carries enrahitu://027.
Read the full pinned specification ↗Relationships
depended on by
- 031-single-container-packaging
- 035-denials-survive-shutdown
- 036-manifest-and-schema-evolution
- 037-identity-recovery-and-live-proof
- 038-native-clients-and-bearer-revocation
- 039-release-and-out-of-tree-packaging
- 040-runtime-identity-and-binding-surface
- 041-deployment-epochs
- 042-ledger-lifetime-identity
- 043-patched-dependency-adoption
- 044-n3-split-composition
- 046-named-migration-sets
- 047-managed-service-lifecycle
- 048-store-clean-shutdown
Claimed units
- establishes
{ "kind": "file", "path": "crates/rahi-ops/Cargo.toml" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/src/lib.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/src/preflight.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/src/migrate.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/src/backup.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/src/restore.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/src/archive.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/src/rauthy_api.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/tests/common/mod.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/tests/backup.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-ops/tests/restore.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-cli/Cargo.toml" } - establishes
{ "kind": "file", "path": "crates/rahi-cli/src/main.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-cli/src/lib.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-cli/src/cell.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-cli/src/serve.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-cli/src/verbs.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-cli/tests/cli.rs" } - extends
{ "nature": "additive", "spec": "010-workspace-and-core-types", "unit": { "anchor": "workspace.dependencies", "file": "Cargo.toml", "kind": "section" } } - extends
{ "nature": "additive", "spec": "025-api-tokens-and-resource-server", "unit": { "kind": "file", "path": "crates/rahi-idp/tests/bearer.rs" } }
Source headings
- 030: The verbs and the binary composer
- 1. Purpose
- 2. Territory
- 3. Behavior
- 4. Functional requirements
- 5. Acceptance criteria
- 6. Out of scope
- 7. Resolved decisions
- 8. Status
- Verification
Frozen anchors
No frozen anchors declared.