Overview of core Go backend services
The Go backend implements three primary server-side services:
- API Server (
go/cmd/apiserver/): A central gRPC server acting as the control plane. It validates resources, stores them as Kubernetes CRDs, and invokes API hooks on mutating operations. - Controller Manager (
go/cmd/controllermgr/): Manages Kubernetes controllers for ML resources (e.g., RayCluster, SparkJob, InferenceServer). It uses a reconcile loop to align the actual cluster state with the desired state in etcd and MySQL. - Worker (
go/cmd/worker/,go/worker/plugins/): Hosts Cadence workflow and activity workers. It uses plugins ingo/worker/plugins/to extend the worker with domain-specific Starlark builtins.