kubus 0.1.0

Derive based kubernetes operator framework
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use k8s_openapi::api::core::v1::Pod;
use kube::{Client, ResourceExt};
use kubus::{Result, kubus};

kubus::main!();

#[kubus(event = Apply, finalizer = "kubus.io/cleanup")]
fn on_pod_apply(_client: Client, pod: Pod) -> Result<()> {
    let name = pod.name_unchecked();
    let namespace = pod
        .namespace()
        .to_owned()
        .unwrap_or_else(|| "default".into());

    println!("pod {name} has been created in {namespace}");

    Ok(())
}