kube_runtime/
lib.rs

1//! Common components for building Kubernetes operators
2//!
3//! This crate contains the core building blocks to allow users to build
4//! controllers/operators/watchers that need to synchronize/reconcile kubernetes
5//! state.
6//!
7//! Newcomers are recommended to start with the [`Controller`] builder, which gives an
8//! opinionated starting point that should be appropriate for simple operators, but all
9//! components are designed to be usable รก la carte if your operator doesn't quite fit that mold.
10
11#![deny(clippy::all)]
12#![deny(clippy::pedantic)]
13// Triggered by many derive macros (kube-derive, educe)
14#![allow(clippy::default_trait_access)]
15#![allow(clippy::type_repetition_in_bounds)]
16// Triggered by educe derives on enums
17#![allow(clippy::used_underscore_binding)]
18// Triggered by Tokio macros
19#![allow(clippy::semicolon_if_nothing_returned)]
20// Triggered by nightly clippy on idiomatic code
21#![allow(clippy::let_underscore_untyped)]
22
23pub mod controller;
24pub mod events;
25
26pub mod finalizer;
27pub mod reflector;
28pub mod scheduler;
29pub mod utils;
30pub mod wait;
31pub mod watcher;
32
33pub use controller::{applier, Config, Controller};
34pub use finalizer::finalizer;
35pub use reflector::reflector;
36pub use scheduler::scheduler;
37pub use utils::WatchStreamExt;
38pub use watcher::{metadata_watcher, watcher};
39
40pub use utils::{predicates, Predicate};
41pub use wait::conditions;