Skip to main content

Module retry

Module retry 

Source
Expand description

Retry policy for Kubernetes API requests.

This module provides a RetryPolicy that implements tower::retry::Policy for retrying failed Kubernetes API requests with exponential backoff.

§Example

use kube::{Client, Config, client::ConfigExt};
use kube::client::retry::RetryPolicy;
use tower::{ServiceBuilder, BoxError};
use tower::retry::RetryLayer;
use tower::buffer::BufferLayer;
use hyper_util::rt::TokioExecutor;

let config = Config::infer().await?;
let https = config.rustls_https_connector()?;

let service = ServiceBuilder::new()
    .layer(config.base_uri_layer())
    .option_layer(config.auth_layer()?)
    .layer(BufferLayer::new(1024))
    .layer(RetryLayer::new(RetryPolicy::default()))
    .map_err(BoxError::from)
    .service(hyper_util::client::legacy::Client::builder(TokioExecutor::new()).build(https));

let client = Client::new(service, config.default_namespace);

Structs§

InvalidBackoff
Backoff configuration validation error. Backoff validation error.
RetryPolicy
A retry policy for Kubernetes API requests.