# kube-dra
[](https://github.com/rust-lang/rust/releases/tag/1.88.0)
A [Rust][1] library for building Kubernetes
[Dynamic Resource Allocation (DRA)][2] drivers.
> ⚠️ This crate is under active development and not yet usable.
> Watch this repository for updates.
## What is this?
DRA went [GA in Kubernetes 1.34][3]. The [Kubernetes][4] project provides
[`k8s.io/dynamic-resource-allocation/kubeletplugin`][5]
— a Go helper library that handles all the plumbing: socket registration,
gRPC lifecycle, rolling updates, and connection monitoring.
No equivalent exists for Rust. `kube-dra` aims to fill that gap.
## Status
- [ ] Proto bindings (tonic-build)
- [ ] `DraDriver` trait
- [ ] `KubeletPlugin` builder (single socket)
- [ ] `ResourceSlicePublisher`
- [ ] Mock sensor example
- [ ] End-to-end example working on a [kind][6] cluster
- [ ] Rolling update support
## License
Apache 2.0 licensed. See LICENSE for details.
[1]: https://rust-lang.org/
[2]: https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/
[3]: https://kubernetes.io/blog/2025/09/01/kubernetes-v1-34-dra-updates/
[4]: https://kubernetes.io
[5]: https://github.com/kubernetes/dynamic-resource-allocation/tree/master/kubeletplugin
[6]: https://kind.sigs.k8s.io/