controller-rs is a reference implementation of a Kubernetes controller written in Rust using the kube library and actix-web.
The project demonstrates how to build a controller that reconciles custom resources, specifically a Document resource defined via a CustomResourceDefinition. The controller watches for changes to Document instances and responds by updating the resource's status object, creating associated Kubernetes events, and using finalizers to handle guaranteed deletion. The implementation includes observability instrumentation through OpenTelemetry integration and Prometheus metrics exposure.
This is a learning resource and starting point rather than a production framework. Developers building their first Kubernetes controller in Rust should use this as a reference implementation to understand the patterns and structure needed. The project is particularly useful for those wanting to see how to integrate observability from the start, including optional OpenTelemetry tracing and metrics collection. The example reconciler performs a simple operation—checking a hidden boolean field and updating status accordingly—making it easy to understand the core reconciliation loop before extending it for real-world use cases. The README explicitly directs users to the kube.rs controller guide for building production controllers.
The project maintains active continuous integration with automated testing. Development activity shows consistent engagement with the codebase through regular updates and maintenance of the example implementation. The helm chart and container image distribution indicate ongoing operational support for those deploying the controller in Kubernetes clusters.