Expand description

Crate with types and traits necessary for interacting with the Kubernetes API

This crate provides the minimal apimachinery necessary to make requests to the kubernetes API.

It does not export export a client, but it also has almost no dependencies.

Everything in this crate is re-exported from kube (even with zero features) under kube::core.


pub use dynamic::ApiResource;
pub use dynamic::DynamicObject;
pub use crd::CustomResourceExt;
pub use gvk::GroupVersion;
pub use gvk::GroupVersionKind;
pub use gvk::GroupVersionResource;
pub use metadata::TypeMeta;
pub use object::NotUsed;
pub use object::Object;
pub use object::ObjectList;
pub use request::Request;
pub use response::Status;
pub use watch::WatchEvent;



Contains types for implementing admission controllers.

Traits and tyes for CustomResources

Type information structs for API discovery

Contains types for using resource kinds not known at compile-time.

Type information structs for dynamic resources.

Metadata structs used in traits, lists, and dynamic objects.

Generic object and objectlist wrappers.

A port of request parameter *Optionals from apimachinery/types.go

Request builder type for arbitrary api types

Generic api response types

Request builder types and parameters for subresources

Utils and helpers

Types for the watch api


An error response from the API.

ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.


Version parser for Kubernetes version patterns


An accessor trait for a kubernetes Resource.

Helper methods for resources.