Crate kube_condition

Crate kube_condition 

Source
Expand description

§kube-condition

Runtime support for mapping Rust errors to Kubernetes status conditions.

This crate provides:

  • The StatusCondition trait for error types
  • Condition builders and update helpers
  • A reconcile wrapper that automatically updates status on errors

§Usage

use kube_condition::{StatusCondition, ConditionExt};
use thiserror::Error;

#[derive(Error, Debug, StatusCondition)]
#[condition(default_type = "Ready")]
pub enum MyError {
    #[error("Something went wrong: {0}")]
    #[condition(reason = "SomethingFailed", retryable = true)]
    Something(String),
}

Macros§

reconcile_with_status
Macro to create a reconcile wrapper with status updates

Structs§

ConditionBuilder
Builder for custom condition types
ConditionInfo
Intermediate condition info before converting to k8s Condition
ReadyCondition
Builder for creating “ready” conditions
ReconcileContext
Context for the reconcile wrapper

Enums§

Severity
Severity level for conditions, useful for observability and alerting

Constants§

CONDITION_REASON_PROGRESSING
Reason when reconciliation is in progress
CONDITION_REASON_RECONCILE_SUCCEEDED
Reason when reconciliation succeeds
CONDITION_STATUS_FALSE
Condition status “False”
CONDITION_STATUS_TRUE
Condition status “True”
CONDITION_STATUS_UNKNOWN
Condition status “Unknown”
CONDITION_TYPE_AVAILABLE
Standard “Available” condition type
CONDITION_TYPE_DEGRADED
Standard “Degraded” condition type
CONDITION_TYPE_PROGRESSING
Standard “Progressing” condition type
CONDITION_TYPE_READY
Standard “Ready” condition type
DEFAULT_NON_RETRYABLE_REQUEUE_SECONDS
Default requeue duration for non-retryable errors (longer backoff)
DEFAULT_REQUEUE_SECONDS
Default requeue duration in seconds for retryable errors
FIELD_MANAGER_NAME
Field manager name used for patch operations

Traits§

ConditionExt
Extension trait for resources with status conditions
ReconcileExt
Extension trait for wrapping reconcile functions with automatic status updates
StatusCondition
Trait for errors that can be mapped to Kubernetes status conditions.

Functions§

error_condition
Create an error condition with Ready=False
ready_condition
Create a Ready=True condition
reconcile_with_status
Reconcile result wrapper that handles status updates automatically

Derive Macros§

StatusCondition
Derive macro for mapping error types to Kubernetes status conditions.