This guide shows how to deploy the coder-k8s aggregated API server and register it with the Kubernetes API aggregation layer.
The aggregated API server serves:
- API group:
aggregation.coder.com - Version:
v1alpha1 - Resources:
coderworkspaces,codertemplates
kubectl create namespace coder-systemThe RBAC manifest creates the unified coder-k8s ServiceAccount used by all app modes.
kubectl apply -f deploy/rbac.yamlkubectl apply -f deploy/apiserver-service.yaml
kubectl apply -f deploy/deployment.yamldeploy/deployment.yaml defaults to --app=all, which runs the controller, aggregated API server, and MCP server in a single pod.
For split deployments, you can still run individual components by setting --app=controller, --app=aggregated-apiserver, or --app=mcp-http in the Deployment args.
kubectl apply -f deploy/apiserver-apiservice.yamlWait for the deployment:
kubectl rollout status deployment/coder-k8s -n coder-systemCheck the APIService:
kubectl get apiservice v1alpha1.aggregation.coder.comList resources served by the aggregated API server:
kubectl get coderworkspaces.aggregation.coder.com -A
kubectl get codertemplates.aggregation.coder.com -Adeploy/apiserver-apiservice.yaml currently sets insecureSkipTLSVerify: true, which is convenient for development but not appropriate for production.