TELEICU/Topology: Difference between revisions
More languages
More actions
Replace ASCII topology with Mermaid diagram (via update-page on MediaWiki MCP Server) |
Automated edit (via update-page on MediaWiki MCP Server) |
||
| Line 72: | Line 72: | ||
IP addresses, subnets, DNS names, and specific cloud providers are not documented here. These are environment-specific and maintained in the deployment repository's encrypted variables. |
IP addresses, subnets, DNS names, and specific cloud providers are not documented here. These are environment-specific and maintained in the deployment repository's encrypted variables. |
||
{{Navbox TELEICU}} |
|||
{{Related}} |
{{Related}} |
||
Revision as of 08:39, 6 July 2026
The target topology for the TELEICU infrastructure across all 200+ sites.
Components
Control plane (cloud VMs)
1–3 virtual machines in reliable cloud environments, serving as the K3s control plane. These nodes:
- Run embedded etcd for HA control plane state - Host the K3s server process - Are reachable over Tailscale from all spoke/hub nodes - Run in cloud regions with stable power and internet - Are the management entry point for both Ansible and NixOS paths
Agent nodes (hospital sites)
Every hospital PC — whether spoke or hub — runs as a K3s agent node. Each agent:
- Runs K3s agent process, registered to the control plane - Hosts containerized TELEICU middleware workloads - Connects over Tailscale for all control-plane communication - Pulls its node-level configuration (Ansible pull or comin) - Reports monitoring data to VictoriaMetrics
Network topology
{{#mermaid:flowchart TB
subgraph CP["Cloud Control Plane"]
CP1["CP VM 1<br/>(etcd)"]
CP2["CP VM 2<br/>(etcd)"]
CP3["CP VM 3<br/>(etcd)"]
end
TS["Tailscale Mesh"]
CP1 --- TS
CP2 --- TS
CP3 --- TS
subgraph Agents["K3s Agent Nodes (200+)"]
H["Hub Node<br/>K3s agent<br/>+ middleware"]
S1["Spoke Node<br/>K3s agent<br/>+ middleware"]
S2["Spoke Node<br/>K3s agent<br/>+ middleware"]
SN["... (200 more)"]
end
TS --- H
TS --- S1
TS --- S2
TS --- SN
}}
Node communication
All traffic between agent nodes and the control plane traverses Tailscale:
- K3s registration: agent → CP over Tailscale IPs - Configuration pull: ansible-pull or comin fetches from git repo (routed through CP or directly) - Metrics: node → VictoriaMetrics endpoint - Incident notifications: heartbeat missing → on-device agent classifies cause → alert routed to hub admin
No sensitive data in this page
IP addresses, subnets, DNS names, and specific cloud providers are not documented here. These are environment-specific and maintained in the deployment repository's encrypted variables.