Struct kube_runtime::events::Recorder[][src]

pub struct Recorder { /* fields omitted */ }
Expand description

A publisher abstraction to emit Kubernetes’ events.

All events emitted by an Recorder are attached to the ObjectReference specified when building the recorder using Recorder::new.

use kube::{
  core::Resource,
  runtime::events::{Reporter, Recorder, Event, EventType}
};
use k8s_openapi::api::core::v1::ObjectReference;

let reporter = Reporter {
    controller: "my-awesome-controller".into(),
    instance: std::env::var("CONTROLLER_POD_NAME").ok(),
};

// references can be made manually using `ObjectMeta` and `ApiResource`/`Resource` info
let reference = ObjectReference {
    // [...]
    ..Default::default()
};
// or for k8s-openapi / kube-derive types, use Resource::object_ref:
// let reference = myobject.object_ref();

let recorder = Recorder::new(client, reporter, reference);
recorder.publish(Event {
    action: "Scheduling".into(),
    reason: "Pulling".into(),
    note: Some("Pulling image `nginx`".into()),
    type_: EventType::Normal,
    secondary: None,
}).await?;

Events attached to an object will be shown in the Events section of the output of of kubectl describe for that object.

Implementations

Create a new recorder that can publish events for one specific object

This is intended to be createad at the start of your controller’s reconcile fn.

Publish a new Kubernetes’ event.

Access control

The event object is created in the same namespace of the ObjectReference you specified in Recorder::new. Make sure that your controller has create permissions in the required namespaces for the event resource in the API group events.k8s.io.

Errors

Returns an Error if the event is rejected by Kubernetes.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more