Local Kubernetes Cluster¶
Project: Arlyn Labs On-Premise Infrastructure
Date: April 2026
Overview¶
Arlyn Labs runs a local Kubernetes cluster on an on-premise Mac Studio to serve as the workspace backend for Coder. The cluster is provisioned using kind (Kubernetes IN Docker) and runs as a single-node setup inside Docker Desktop for Mac.
The Coder control plane runs natively as a macOS binary (not inside the cluster), backed by a PostgreSQL database managed via Homebrew. Kubernetes is used solely as the compute backend — Coder's Terraform templates provision workspace pods on the cluster on demand.
Hardware¶
| Component | Specification |
|---|---|
| Machine | Apple Mac Studio |
| Chip | Apple Ultra |
| CPU cores | 28 |
| Unified memory | 96 GB |
Software Stack¶
| Component | Detail |
|---|---|
| Container runtime | Docker Desktop for Mac (containerd image store enabled) |
| Kubernetes distribution | kind (Kubernetes IN Docker) |
| Kubernetes version | v1.34.3 |
| Cluster type | Single-node |
Cluster Configuration¶
The cluster runs as a single kind node named desktop-control-plane. All workloads run in the default namespace unless otherwise specified.
| Setting | Value |
|---|---|
| Cluster type | kind |
| Nodes | 1 (desktop-control-plane) |
| Kubernetes version | v1.34.3 |
| Namespace | default |
Docker Desktop Resource Allocation¶
Docker Desktop must be configured with sufficient resources to support the cluster and the workspace pods running inside it.
| Resource | Recommended Value |
|---|---|
| Memory | 16 GB |
| CPUs | 8 cores |
These values are set in Docker Desktop → Settings → Resources.
Coder Workspace Resource Limits¶
Each developer workspace runs as a pod on the cluster. The following resource requests and limits are applied per workspace pod via the Coder Terraform template:
| Resource | Request | Limit |
|---|---|---|
| Memory | 2 GB | 6 GB |
| CPU | 0.5 cores | 2 cores |
| Storage | 10–20 GB | — |
The recommended auto-stop idle timeout is 30–45 minutes, which reclaims cluster resources from inactive workspaces while avoiding unnecessary cold starts.
Architecture¶
The system is split across two layers: the Coder control plane running natively on macOS, and the workspace pods running inside the Kubernetes cluster.
┌─────────────────────────────────────────────────────────────┐
│ Mac Studio (stargazer) │
│ │
│ ┌─────────────────┐ ┌────────────────────────────────┐ │
│ │ Coder Server │ │ Docker Desktop │ │
│ │ (native binary) │ │ │ │
│ │ │ │ ┌──────────────────────────┐ │ │
│ │ ┌───────────┐ │ │ │ kind cluster │ │ │
│ │ │PostgreSQL │ │ │ │ (desktop-control-plane) │ │ │
│ │ │(Homebrew) │ │ │ │ │ │ │
│ │ └───────────┘ │ │ │ ┌───────┐ ┌───────┐ │ │ │
│ │ │◄──►│ │ │ Pod │ │ Pod │ … │ │ │
│ └─────────────────┘ │ │ └───────┘ └───────┘ │ │ │
│ │ └──────────────────────────┘ │ │
│ └────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Useful Commands¶
Cluster health¶
View all running resources¶
View pods¶
Resource usage¶
Deployments and services¶
Key References¶
| Item | Value |
|---|---|
| Machine | Mac Studio (on-premise network) |
| Kubernetes distribution | kind |
| Kubernetes version | v1.34.3 |
| Coder documentation | coder.com/docs |
| Docker Desktop | docker.com/products/docker-desktop |