Architecture¶
Loco separates its control plane from the regional components that run applications. The CLI and dashboard call the API, and the regional agent connects the cluster to the control plane.
Control plane¶
The Go API exposes ConnectRPC services and stores platform state in PostgreSQL. The CLI uses Cobra and Charm libraries; the dashboard lives in web/. Protocol definitions live in proto/, with generated clients in gen/.
Regional runtime¶
The in-cluster agent exchanges state with the API. The controller reconciles Application custom resources into Kubernetes workloads and routing resources. Cilium provides networking; Envoy Gateway handles ingress and TLS termination; cert-manager provisions certificates.
Observability¶
OpenTelemetry collects telemetry, ClickHouse stores observability data, and Grafana displays it. The regional observability proxy provides access to the regional data.
Deployment boundaries¶
Deployment modes determine the operator and tenancy of the platform. Application workspaces, environments, and regions determine where a team's workloads run within the installation.
For the protobuf service definitions and client generation, see CLI and API reference.