kube-rs/kopium

Kubernetes OPenapI UnMangler

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓Open shareable report →

kube-rs/kopium has 150+ stars and 30+ forks on GitHub, is written in Rust, and was last pushed on Oct 14, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on October 15th, 2026
Created on November 27th, 2021
Open Issues & Pull Requests: 19 (+0)
GitHub issues: Enabled
Number of forks: 34
Total Stargazers: 170 (+0)
Total Subscribers: 4 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.6 hours
Mean response time: 100.4 days
90th percentile: 338.2 days
Tracked items: 21

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 547 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

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

Top labels

  • help wanted (9)
  • bug (4)
  • enhancement (4)
  • good first issue (2)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

kopium is a code generator that produces Rust data structures from Kubernetes custom resource definitions and their embedded OpenAPI schemas.

The tool solves the problem of manually writing type-safe Rust bindings for Kubernetes CRDs. It parses the OpenAPI schema embedded in a CustomResourceDefinition and generates corresponding Rust structs with proper field naming, documentation, and serialization attributes. The generated types can optionally implement the kube::CustomResource trait to integrate directly with the kube Rust client library, making them immediately queryable against a cluster. The generator handles case conversion to Rust conventions and extracts documentation from schema descriptions.

Teams building Kubernetes operators or controllers in Rust should adopt this tool to avoid hand-writing boilerplate bindings. It works well for projects that depend on custom resources from the broader ecosystem, since it supports reading CRDs directly from a cluster via kubeconfig or from YAML files, making it suitable for both local development and CI pipelines. The tool is compatible with nearly all catalogued CRDs and requires only Kubernetes 1.16 or later with stable CustomResourceDefinition/v1 schemas. For teams unwilling to generate code, pre-published binding libraries exist on crates.io, including a comprehensive catalogue and specific libraries for gateway-api and istio.

The project maintains active engagement with reported incompatibilities, explicitly inviting issues when a CRD does not work. Integration tests run against live clusters to verify that generated types correctly parse real CRD instances. The tool provides shell autocompletion support and includes both unit tests and file-based testing that do not require cluster access.