Build a Custom Kubernetes Operator for a Multi-Tenant SaaS
Overview
What this challenge is about.
Receive the current Helm + bash setup, a description of the per-tenant resources to manage, and the cluster details (EKS 1.29, Strimzi for Kafka). Design a TenantPipeline CRD with spec fields (kafka_topic_config, schema_registry_subjects, consumer_groups[]) and a status subresource (phase, conditions, lastSyncTime). Implement the controller in Go using Kubebuilder: reconcile loop creating/updating/deleting downstream resources, idempotency via owner references, exponential backoff on failure, finalizer for clean delete. Add structured logging + Prometheus metrics (reconciles_total, reconcile_errors_total, reconcile_duration_seconds). Ship a Helm chart for the operator itself. Test with envtest + a 3-node kind cluster simulating 50 tenants. Deliver the operator repo, the CRD spec, the test suite, the Helm chart, and a 6-page architecture memo for the platform team.
The Brief
What you'll do, and what you'll demonstrate.
Ship a Kubebuilder-based Kubernetes operator that manages per-tenant Kafka topics, schemas, and consumer groups via a TenantPipeline CRD, replacing brittle Helm + bash glue.
Earning criteria — what you'll demonstrate
- Design a CRD that captures real multi-tenant requirements
- Implement an idempotent reconcile loop with finalizers
- Add operator observability (logs + metrics) cleanly
- Test operators with envtest and a small real cluster
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.