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

package config

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

Index

Types

type Controller

type Controller struct {
	// SkipNameValidation allows skipping the name validation that ensures that every controller name is unique.
	// Unique controller names are important to get unique metrics and logs for a controller.
	// Can be overwritten for a controller via the SkipNameValidation setting on the controller.
	// Defaults to false if SkipNameValidation setting on controller and Manager are unset.
	SkipNameValidation *bool

	// GroupKindConcurrency is a map from a Kind to the number of concurrent reconciliation
	// allowed for that controller.
	//
	// When a controller is registered within this manager using the builder utilities,
	// users have to specify the type the controller reconciles in the For(...) call.
	// If the object's kind passed matches one of the keys in this map, the concurrency
	// for that controller is set to the number specified.
	//
	// The key is expected to be consistent in form with GroupKind.String(),
	// e.g. ReplicaSet in apps group (regardless of version) would be `ReplicaSet.apps`.
	GroupKindConcurrency map[string]int

	// MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1.
	MaxConcurrentReconciles int

	// CacheSyncTimeout refers to the time limit set to wait for syncing caches.
	// Defaults to 2 minutes if not set.
	CacheSyncTimeout time.Duration

	// RecoverPanic indicates whether the panic caused by reconcile should be recovered.
	// Can be overwritten for a controller via the RecoverPanic setting on the controller.
	// Defaults to true if RecoverPanic setting on controller and Manager are unset.
	RecoverPanic *bool

	// NeedLeaderElection indicates whether the controller needs to use leader election.
	// Defaults to true, which means the controller will use leader election.
	NeedLeaderElection *bool

	// UsePriorityQueue configures the controllers queue to use the controller-runtime provided
	// priority queue.
	//
	// Note: This flag is disabled by default until a future version. It's currently in beta.
	UsePriorityQueue *bool

	// Logger is the logger controllers should use.
	Logger logr.Logger
}

Controller contains configuration options for controllers. It only includes options that makes sense for a set of controllers and is used for defaulting the options of multiple controllers.

Source Files

controller.go

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

Tools for package owners.