kube-rs/k8s-pb

Kubernetes structs from protos and openapi schemas

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓

kube-rs/k8s-pb has 20+ stars on GitHub, is written in Rust, and was last pushed on Jun 22, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 55 minutes ago
Added to GitGenius on October 15th, 2026
Created on August 6th, 2021
Open Issues & Pull Requests: 11 (+0)
GitHub issues: Enabled
Number of forks: 7
Total Stargazers: 24 (+0)
Total Subscribers: 7 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.
Sign in

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

k8s-pb is a Rust crate that provides Kubernetes struct bindings generated from protobuf definitions and OpenAPI schemas.

The project addresses the need for Rust developers to work with Kubernetes types that may not be available in k8s-openapi. It generates type-safe Rust structs by combining protobuf definitions from upstream Kubernetes repositories with OpenAPI schema information. The generation process downloads version-pinned protobufs from the Kubernetes API, apimachinery, apiextensions-apiserver, kube-aggregator, and metrics repositories, then transforms an OpenAPI schema into supplementary type information. These inputs are processed through prost code generation to produce Rust types with trait implementations derived from the combined metadata.

The README explicitly states the crate is not yet usable as a direct replacement within kube-rs and should be considered a reference location for Kubernetes structs. Developers should treat it as a source for type definitions that are absent from k8s-openapi rather than as a production-ready integration. The project is designed to be regenerated periodically as Kubernetes evolves, with the generation pipeline automatable through a single command.

The project maintains a structured, reproducible build process with four distinct steps that can be run independently or together. The codebase includes dedicated tooling for code generation, with transformations applied at multiple stages to ensure compatibility between protobuf and OpenAPI representations. The approach of pinning upstream versions and applying targeted patches suggests active maintenance of the generation pipeline to handle upstream changes.