OPERATOR-BACKUP.md markdown
48 lines 2.3 KB
Raw
sha256:fd47ab66017e55331b88ba3a59c34c23e4e05c5aec424251d3a404c5a7998c8e feat(hub): restore integration tile detail modals; add Herm… Human minor ⚠ breaking 15 days ago

Operator backup (two pillars)

Knowtation hosted operators use two complementary mechanisms. Both are part of the supported runbook; neither replaces the other.

Pillar 1 — ICP canister snapshots (maintenance / upgrades)

Purpose: Roll the hub or attestation canister back to a saved point after a bad upgrade or break-glass event.

How: Controller identity, dfx canister stopsnapshot createstart (brief downtime). Optional snapshot download for an off-chain copy.

Docs & tooling:

When: Planned windows before risky deploys, not as a substitute for daily data continuity.


Pillar 2 — Daily logical export (all tenants, canister stays up)

Purpose: Scheduled copy of vault notes + proposals for every user id stored in the hub canister, without stopping the canister.

How:

  1. Configure the hub canister with a shared secret (controllers only), after deploying WASM that includes operator_export_secret in stable storage:

    cd hub/icp && dfx canister call hub admin_set_operator_export_secret '("YOUR_LONG_RANDOM_SECRET")' --network ic
    

    See HUB-API.md §5.1 (operator export).

  2. Run npm run canister:operator-full-export (or GitHub Actions workflow) with KNOWTATION_OPERATOR_EXPORT_URL, KNOWTATION_OPERATOR_EXPORT_KEY, and optional encrypt/S3 env vars (see script headers and .env.example).

Scripts & CI:

Legacy (single partition): scripts/canister-export-backup.mjs remains available for smoke tests or one X-User-Id only.


  • HUB-API.md § operator export
  • hub/icp/README.md — canister deploy and stable memory
File History 3 commits
sha256:fd47ab66017e55331b88ba3a59c34c23e4e05c5aec424251d3a404c5a7998c8e feat(hub): restore integration tile detail modals; add Herm… Human minor 15 days ago
sha256:2827ba9e7632a4b141c50caf1e8f7d77abbc3515be20e7465f2bccb0ac4edf91 fix: repair endpoint now sets has_active_subscription when … Human minor 16 days ago