Rancher is a comprehensive Kubernetes management platform that provides multi-cluster management, authentication/authorization, application catalog (Helm charts), fleet management, and a web UI. The codebase is a monolithic Go application with two primary entry points: the Rancher server (main.go) and the Rancher agent (cmd/agent/main.go). The server runs as a Kubernetes operator using the controller-runtime pattern, managing custom resources for clusters, projects, users, authentication providers, and catalogs. It integrates with upstream Kubernetes APIs via generated clients (norman, wrangler) and provides a unified API (Steve) for downstream cluster management. The architecture follows a hub-and-spoke model where the Rancher server manages multiple downstream clusters through cluster agents. Key data flows include: cluster provisioning (RKE2, K3s, cloud providers), authentication (OIDC, LDAP, AD, SAML), catalog synchronization (Helm charts from Git/OCI), and fleet-based GitOps deployment. External dependencies include Kubernetes (v1.36), etcd, cert-manager, and various cloud provider SDKs (AWS, Azure, GCP, AliCloud). The codebase demonstrates high craftsmanship with extensive code generation, clean separation of concerns, comprehensive test infrastructure (unit, integration, controller-runtime envtest), and production-grade operational tooling.
Kamaji is a Kubernetes operator that transforms any Kubernetes cluster into a management cluster capable of orchestrating multiple independent tenant control planes. It provisions and manages Tenant Control Plane (TCP) custom resources—essentially running full Kubernetes control planes (kube-apiserver, kube-scheduler, kube-controller-manager) as pods inside a management cluster, using unmodified upstream Kubernetes components and kubeadm for bootstrapping. The operator extends Kubernetes via three CRDs: TenantControlPlane (namespace-scoped), DataStore (cluster-scoped, backing store abstraction), and KubeconfigGenerator. It supports multiple datastore drivers (etcd, MySQL, PostgreSQL, NATS via Kine) with TLS, basic auth, and live migration. The architecture features multiple controllers (main TCP reconciler, datastore lifecycle, certificate lifecycle, KubeconfigGenerator, telemetry), mutating/validating webhooks, and a per-TCP 'soot' manager that handles kubeadm phases, addons (CoreDNS, kube-proxy, Konnectivity), and write permissions. It integrates with Cluster API as a control plane provider and exposes Prometheus metrics, a Grafana dashboard, and optional telemetry. The codebase is a standard Go-based controller-runtime operator with Helm charts for deployment.
Kubewall is a production-grade, open-source Kubernetes dashboard that provides real-time multi-cluster management through a single-binary web application. It combines a Go backend (Echo framework, client-go informers) with a React/TypeScript frontend (Redux Toolkit, shadcn/ui, TanStack Router) to offer live monitoring, YAML editing, pod log streaming, port forwarding, and an AI-powered troubleshooting assistant (kwAI). The architecture relies on Server-Sent Events (SSE) to push Kubernetes resource updates to the browser, with an in-memory informer cache per cluster. The backend exposes REST endpoints for every standard Kubernetes resource type as well as Custom Resource Definitions (CRDs), while the frontend uses virtualized data tables, Radix UI primitives, and lazy-loaded Monaco editor for editing. The system supports multiple kubeconfig authentication methods and includes a Helm chart for deployment.