The cloud desktop architecture is simple. On a high level, it looks like this:
Cloud desktop cluster is a cluster of cloud desktops. It is implemented as a K8s cluster for easy scheduling and orchestration of cloud desktop containers.
The cloud desktop container provides a virtualized desktop environment that is isolated and portable. It consists of 3 components.
VNC server paired with a NoVNC server
VSCode server
Tailscale client
For details, see Container Image.
K8s network:
Used for communication with the load balancer to allow each container to be accessible from a URL
Implemented with Flannel
Tailscale network:
Used for communication between cloud desktops and robots globally
Managed with Tailscale Dashboard
AWS Route53:
Provides DNS records for redirecting traffic to the cluster