Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

TELEICU/Canary rollout

From OHC Network Wiki
Revision as of 08:23, 6 July 2026 by Admin (talk | contribs) (Create TELEICU canary rollout flow page (via create-page on MediaWiki MCP Server))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
flowteleicuCARE 3.0+

Both migration paths use the same staged rollout process to minimize fleet-wide risk.

Stages

  1. Staging — a small set of test VMs or spare hardware that mirrors production. Every change lands here first.
  2. Canary (1–2 sites) — real hospital PCs, selected from sites with tolerant operations. Changes soak here for a validation period.
  3. Regional rollout — one state or hub region at a time, with a gating check after each region.
  4. Fleet-wide — remaining sites after all regions have passed.

Gating criteria

A stage must pass all checks before promoting to the next:

  • All nodes report healthy to K3s control plane
  • VictoriaMetrics shows no anomaly in key metrics
  • Downtime classifier reports expected status (no false positives)
  • Hub admin confirms no degradation in clinical workflow
  • Rollback tested and confirmed working

Per-path

Ansible path

  1. Push change to ansible repo staging branch → staging nodes converge on next pull
  2. Merge to canary branch → canary nodes pull and apply
  3. Merge to regional/<state> branch → that state's nodes converge
  4. Merge to main → fleet-wide rollout

NixOS path

  1. Update flake → rebuild in staging
  2. For canary: deploy-rs .#canary-node (push) or merge to canary branch for comin
  3. For regional: tag a release → comin picks up the tag
  4. For fleet: update main branch of flake → all comin agents pull new generation

Branch/tag structure

syntaxhighlight lang="text" main ────────────── fleet-wide

 ├── regional/kerala
 ├── regional/maharashtra
 ├── …
 └── canary
      └── staging

syntaxhighlight