controller-runtimesigs.k8s.io/controller-runtime/pkg/recorder Index | Examples | Files

package recorder

import "sigs.k8s.io/controller-runtime/pkg/recorder"

Package recorder defines interfaces for working with Kubernetes event recorders.

You can use these to emit Kubernetes events associated with a particular Kubernetes object.

Example (Event)

Code:play 

package main

import (
	corev1 "k8s.io/api/core/v1"

	_ "github.com/onsi/ginkgo/v2"
	"sigs.k8s.io/controller-runtime/pkg/recorder"
)

var (
	recorderProvider recorder.Provider
	somePod          *corev1.Pod
)

func main() {
	// recorderProvider is a recorder.Provider
	recorder := recorderProvider.GetEventRecorderFor("my-controller")

	// emit an event with a fixed message
	recorder.Event(somePod, corev1.EventTypeWarning,
		"WrongTrousers", "It's the wrong trousers, Gromit!")
}
Example (Eventf)

Code:play 

package main

import (
	corev1 "k8s.io/api/core/v1"

	_ "github.com/onsi/ginkgo/v2"
	"sigs.k8s.io/controller-runtime/pkg/recorder"
)

var (
	recorderProvider recorder.Provider
	somePod          *corev1.Pod
)

func main() {
	// recorderProvider is a recorder.Provider
	recorder := recorderProvider.GetEventRecorderFor("my-controller")

	// emit an event with a variable message
	mildCheese := "Wensleydale"
	recorder.Eventf(somePod, corev1.EventTypeNormal,
		"DislikesCheese", "Not even %s?", mildCheese)
}

Index

Examples

Types

type Provider

type Provider interface {
	// NewRecorder returns an EventRecorder with given name.
	GetEventRecorderFor(name string) record.EventRecorder
}

Provider knows how to generate new event recorders with given name.

Source Files

recorder.go

Version
v0.21.0 (latest)
Published
May 20, 2025
Platform
linux/amd64
Imports
1 packages
Last checked
26 minutes ago

Tools for package owners.