controllers

package
v2.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2025 License: Apache-2.0 Imports: 54 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitCustomMetrics

func InitCustomMetrics(reconciler *FoundationDBClusterReconciler)

InitCustomMetrics initializes the metrics collectors for the operator.

Types

type FoundationDBBackupReconciler

type FoundationDBBackupReconciler struct {
	client.Client
	Recorder               record.EventRecorder
	Log                    logr.Logger
	InSimulation           bool
	DatabaseClientProvider fdbadminclient.DatabaseClientProvider
	ServerSideApply        bool
}

FoundationDBBackupReconciler reconciles a FoundationDBCluster object

func (*FoundationDBBackupReconciler) Reconcile

func (r *FoundationDBBackupReconciler) Reconcile(
	ctx context.Context,
	request ctrl.Request,
) (ctrl.Result, error)

Reconcile runs the reconciliation logic.

func (*FoundationDBBackupReconciler) SetupWithManager

func (r *FoundationDBBackupReconciler) SetupWithManager(
	mgr ctrl.Manager,
	maxConcurrentReconciles int,
	selector metav1.LabelSelector,
) error

SetupWithManager prepares a reconciler for use.

type FoundationDBClusterReconciler

type FoundationDBClusterReconciler struct {
	client.Client
	Recorder                                    record.EventRecorder
	Log                                         logr.Logger
	EnableRestartIncompatibleProcesses          bool
	ServerSideApply                             bool
	EnableRecoveryState                         bool
	CacheDatabaseStatusForReconciliationDefault bool
	ReplaceOnSecurityContextChange              bool
	PodLifecycleManager                         podmanager.PodLifecycleManager
	PodClientProvider                           func(*fdbv1beta2.FoundationDBCluster, *corev1.Pod) (podclient.FdbPodClient, error)
	DatabaseClientProvider                      fdbadminclient.DatabaseClientProvider
	DeprecationOptions                          internal.DeprecationOptions
	GetTimeout                                  time.Duration
	PostTimeout                                 time.Duration
	MinimumRequiredUptimeCCBounce               time.Duration
	MaintenanceListStaleDuration                time.Duration
	MaintenanceListWaitDuration                 time.Duration
	// GlobalSynchronizationWaitDuration is the wait time for the operator when the synchronization mode is set to
	// global. The wait time defines the period where no updates for the according action should happen. Increasing the
	// wait time will increase the chances that all updates are part of the list but will also delay the rollout of
	// the change.
	GlobalSynchronizationWaitDuration time.Duration
	// MinimumRecoveryTimeForInclusion defines the duration in seconds that a cluster must be up
	// before new inclusions are allowed. The operator issuing frequent inclusions in a short time window
	// could cause instability for the cluster as each inclusion will/can cause a recovery. Delaying the inclusion
	// of deleted process groups is not an issue as all the process groups that have no resources and are marked for
	// deletion and are fully excluded, will be batched together in a single inclusion call.
	MinimumRecoveryTimeForInclusion float64
	// MinimumRecoveryTimeForExclusion defines the duration in seconds that a cluster must be up
	// before new exclusions are allowed. The operator issuing frequent exclusions in a short time window
	// could cause instability for the cluster as each exclusion will/can cause a recovery.
	MinimumRecoveryTimeForExclusion float64
	// Namespace for the FoundationDBClusterReconciler, if empty the FoundationDBClusterReconciler will watch all namespaces.
	Namespace string
	// ClusterLabelKeyForNodeTrigger if set will trigger a reconciliation for all FoundationDBClusters that host a Pod
	// on the affected node.
	ClusterLabelKeyForNodeTrigger string

	SimulationOptions SimulationOptions
	// contains filtered or unexported fields
}

FoundationDBClusterReconciler reconciles a FoundationDBCluster object

func NewFoundationDBClusterReconciler

func NewFoundationDBClusterReconciler(
	podLifecycleManager podmanager.PodLifecycleManager,
) *FoundationDBClusterReconciler

NewFoundationDBClusterReconciler creates a new FoundationDBClusterReconciler with defaults.

func (*FoundationDBClusterReconciler) Reconcile

func (r *FoundationDBClusterReconciler) Reconcile(
	ctx context.Context,
	request ctrl.Request,
) (ctrl.Result, error)

Reconcile runs the reconciliation logic.

func (*FoundationDBClusterReconciler) SetupWithManager

func (r *FoundationDBClusterReconciler) SetupWithManager(
	mgr ctrl.Manager,
	maxConcurrentReconciles int,
	selector metav1.LabelSelector,
	watchedObjects ...client.Object,
) error

SetupWithManager prepares the FoundationDBClusterReconciler for use.

type FoundationDBRestoreReconciler

type FoundationDBRestoreReconciler struct {
	client.Client
	Recorder               record.EventRecorder
	Log                    logr.Logger
	DatabaseClientProvider fdbadminclient.DatabaseClientProvider
	ServerSideApply        bool
}

FoundationDBRestoreReconciler reconciles a FoundationDBRestore object

func (*FoundationDBRestoreReconciler) Reconcile

func (r *FoundationDBRestoreReconciler) Reconcile(
	ctx context.Context,
	request ctrl.Request,
) (ctrl.Result, error)

Reconcile runs the reconciliation logic.

func (*FoundationDBRestoreReconciler) SetupWithManager

func (r *FoundationDBRestoreReconciler) SetupWithManager(
	mgr ctrl.Manager,
	maxConcurrentReconciles int,
	selector metav1.LabelSelector,
) error

SetupWithManager prepares a reconciler for use.

type SimulationOptions added in v2.8.0

type SimulationOptions struct {
	// SimulateZones if enabled the zone of pods will be replaced with a "simulation" zone.
	SimulateZones bool
	// SimulateTime is enabled the time checks in the exclude and update pods reconciler will be skipped.
	SimulateTime bool
}

SimulationOptions are used to define how the cluster reconciler should behave in the unit tests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL