version-rs is an example Kubernetes reflector and web server built with Rust and axum.
The project demonstrates how to watch Kubernetes Deployments and expose their version information through a web API. It uses kube-rs's reflector and watcher stream abstractions to maintain a synchronized view of Deployments in a namespace, then serves this data via an axum web server on a `/versions` endpoint. The implementation is intentionally minimal, contained in under 100 lines of Rust code, making it suitable as a reference for developers learning these patterns.
This is a learning resource rather than a production tool. Developers should use it to understand how to build Kubernetes-aware applications in Rust, particularly those combining the kube-rs client library with axum for HTTP services. The project includes both local development against an existing cluster context and in-cluster deployment patterns, with support for local Docker builds on multiple architectures and Tilt-based development workflows.
The project maintains active continuous integration and publishes Docker images. Development activity shows regular updates to dependencies and build tooling, with examples kept current against upstream library changes.