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

TELEICU/Site onboarding flow: Difference between revisions

From OHC Network Wiki
Content deleted Content added
Automated edit (via update-page on MediaWiki MCP Server)
Fix 2 Mermaid diagrams: remove <pre> wrapping (via update-page on MediaWiki MCP Server)
 
Line 18: Line 18:
== Path A: Ansible ==
== Path A: Ansible ==


<pre>
{{#mermaid:flowchart TB
{{#mermaid:flowchart TB
OS["Install Ubuntu LTS<br/>(manual or netboot)"]
OS["Install Ubuntu LTS<br/>(manual or netboot)"]
Line 30: Line 29:
OS --> TS --> REG --> PULL --> K3S --> MID --> MON
OS --> TS --> REG --> PULL --> K3S --> MID --> MON
}}
}}
</pre>


# Install Ubuntu LTS (20.04, 22.04, or 24.04 — target consistent via ansible later)
# Install Ubuntu LTS (20.04, 22.04, or 24.04 — target consistent via ansible later)
Line 42: Line 40:
== Path B: NixOS ==
== Path B: NixOS ==


<pre>
{{#mermaid:flowchart TB
{{#mermaid:flowchart TB
ISO["Boot nixos-generator ISO<br/>(pre-configured tunnel)"]
ISO["Boot nixos-generator ISO<br/>(pre-configured tunnel)"]
Line 54: Line 51:
ISO --> CONNECT --> ANYWHERE --> ZFS --> REBOOT --> K3S --> COMIN
ISO --> CONNECT --> ANYWHERE --> ZFS --> REBOOT --> K3S --> COMIN
}}
}}
</pre>


# Boot the custom ISO (generated via nixos-generator with pre-configured tunnel credentials)
# Boot the custom ISO (generated via nixos-generator with pre-configured tunnel credentials)

Latest revision as of 08:52, 6 July 2026

flowteleicuCARE 3.0+

Step-by-step process for adding a new hospital site to the TELEICU K3s cluster.

Pre-requisites

- [ ] Hardware deployed and powered on - [ ] UPS connected and functional - [ ] Internet connectivity verified (minimum bandwidth TBD) - [ ] Tailscale pre-authorization key generated - [ ] Site registered in TeleicuSites table

Path A: Ansible

  1. Install Ubuntu LTS (20.04, 22.04, or 24.04 — target consistent via ansible later)
  2. Install Tailscale using the bootstrap script
  3. Register the node with the Tailscale mesh using a pre-authentication key
  4. Deploy ansible-pull with a systemd timer (every 15 min)
  5. ansible-pull applies the K3s agent role → node joins the cluster
  6. Middleware workloads are scheduled onto the node by the control plane
  7. Monitoring agent starts reporting to VictoriaMetrics

Path B: NixOS

  1. Boot the custom ISO (generated via nixos-generator with pre-configured tunnel credentials)
  2. ISO connects to Cloudflare Tunnel and/or Tailscale automatically
  3. From the bootstrap environment, run nixos-anywhere over the tunnel to the target disk
  4. nixos-anywhere partitions the disk (ZFS via disko), installs NixOS
  5. Node reboots into the NixOS generation — Tailscale and K3s agent start automatically
  6. K3s agent registers with the control plane
  7. comin starts polling the flake repo for configuration updates

Post-onboarding verification

- [ ] Node shows Ready in kubectl get nodes - [ ] Tailscale status shows connected to mesh - [ ] Middleware health endpoints respond - [ ] Metrics flowing to VictoriaMetrics - [ ] Downtime classifier agent reporting - [ ] TeleicuSites entry updated with migration status