TELEICU/Site onboarding flow: Difference between revisions
From OHC Network Wiki
More languages
More actions
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
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
- Install Ubuntu LTS (20.04, 22.04, or 24.04 — target consistent via ansible later)
- Install Tailscale using the bootstrap script
- Register the node with the Tailscale mesh using a pre-authentication key
- Deploy
ansible-pullwith a systemd timer (every 15 min) - ansible-pull applies the K3s agent role → node joins the cluster
- Middleware workloads are scheduled onto the node by the control plane
- Monitoring agent starts reporting to VictoriaMetrics
Path B: NixOS
- Boot the custom ISO (generated via nixos-generator with pre-configured tunnel credentials)
- ISO connects to Cloudflare Tunnel and/or Tailscale automatically
- From the bootstrap environment, run
nixos-anywhereover the tunnel to the target disk nixos-anywherepartitions the disk (ZFS via disko), installs NixOS- Node reboots into the NixOS generation — Tailscale and K3s agent start automatically
- K3s agent registers with the control plane
- 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