Expand description
Utilities for Kubernetes controllers built on kube
§Crate Features
What functionality is provided by kubert is controlled by a number of
Cargo features. All feature flags are disabled by default, so in order to
use the crate, the user must enable one or more feature flags. The following
feature flags are available:
§Module Features
These features control which of kubert’s modules are enabled.
- admin: Enabled the
adminmodule. - client: Enables the
clientmodule. - errors: Enables the
errorsmodule. - index: Enables the
indexmodule. - initialized: Enables the
initializedmodule. - lease: Enables the
leasemodule. - log: Enables the
logmodule. - requeue: Enables the
requeuemodule. - runtime: Enables the
runtimemodule. Enabling this feature flag also enables the admin, client, initialized, and log features. - server: Enables the
servermodule, and server-related functionality in theruntimemodule (if the runtime feature is also enabled). - shutdown: Enables the
shutdownmodule.
§Optional Dependencies
These features enable optional dependencies on other crates.
- clap: Enables support for command-line argument parsing using
clap. When this feature is enabled, implementations of theclap::Parsertrait are enabled for the [AdminArgs],ClientArgs, andServerArgstypes, allowing them to be parsed from command-line arguments.
§TLS Features
These feature flags determine which TLS implementation is used by kubert’s
client and server modules. If neither feature is enabled, kubert’s
client module will use whatever TLS implementation is provided by the
kube-client crate’s feature flags, and kubert’s server module will
panic when starting the server.
- rustls-tls: Use
rustlsas the TLS implementation. - openssl-tls: Use OpenSSL (via the
opensslcrate) as the TLS implementation. This feature takes priority over the rustls-tls feature flag. If both are enabled, OpenSSL will be used instead of Rustls.
If the client feature flag is enabled, these features will also enable the
corresponding feature flags on the kube-client crate, to configure which
TLS implementation is used by the underlying Kubernetes API client.
Re-exports§
pub use self::client::ClientArgs;pub use self::initialized::Initialized;pub use self::lease::LeaseManager;pub use self::log::LogFilter;pub use self::log::LogFormat;pub use self::runtime::Runtime;pub use self::runtime::RuntimeMetrics;pub use self::server::ServerArgs;
Modules§
- admin
adminAdmin server utilities. - client
clientUtilities for configuring akube_client::Clientfrom the command line - errors
errorsUtilities for handling errors - index
indexUtilities for maintaining a shared index derived from Kubernetes resources. - initialized
initializedA utility for waiting for components to be initialized. - lease
leaseA distributed, advisory lock implementation for Kubernetes - log
logConfigures the global default tracing subscriber - requeue
requeueA bounded, delayed, multi-producer, single-consumer queue for deferring work in response to scheduler updates. - runtime
runtimeA controller runtime - server
serverHelpers for configuring and running an HTTPS server, especially for admission controllers and API extensions - shutdown
shutdownDrives graceful shutdown when the process receives a signal.
Structs§
- Error returned by
try_initif a global default subscriber could not be initialized.