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

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

  1. 030: The verbs and the binary composer
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 4. Functional requirements
  6. 5. Acceptance criteria
  7. 6. Out of scope
  8. 7. Resolved decisions
  9. 8. Status
  10. Verification

Frozen anchors

No frozen anchors declared.