controllers

package
v0.0.0-...-e840e77 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2024 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SleepCycleLabel                      = "rekuberate.io/sleepcycle"
	SleepCycleFinalizer                  = "sleepcycle.core.rekuberate.io/finalizer"
	TimeWindowToleranceInSeconds  int    = 30
	SleepCycleStatusUpdateFailure string = "failed to update SleepCycle Status"
	SleepCycleFinalizerFailure    string = "finalizer failed"
)
View Source
const (
	UsedByLabelKey = "(%v) %v/%v"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type SleepCycleOperation

type SleepCycleOperation int
const (
	Watch SleepCycleOperation = iota
	Shutdown
	WakeUp
)

func (SleepCycleOperation) String

func (sco SleepCycleOperation) String() string

type SleepCycleReconciler

type SleepCycleReconciler struct {
	client.Client
	Scheme *runtime.Scheme

	Recorder record.EventRecorder
	// contains filtered or unexported fields
}

SleepCycleReconciler reconciles a SleepCycle object

func (*SleepCycleReconciler) FinalizeCronJobs

func (r *SleepCycleReconciler) FinalizeCronJobs(
	ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
) (ctrl.Result, error)

func (*SleepCycleReconciler) FinalizeDeployments

func (r *SleepCycleReconciler) FinalizeDeployments(
	ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
) (ctrl.Result, error)

func (*SleepCycleReconciler) FinalizeHorizontalPodAutoscalers

func (r *SleepCycleReconciler) FinalizeHorizontalPodAutoscalers(
	ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
) (ctrl.Result, error)

func (*SleepCycleReconciler) FinalizeStatefulSets

func (r *SleepCycleReconciler) FinalizeStatefulSets(
	ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
) (ctrl.Result, error)

func (*SleepCycleReconciler) Reconcile

func (r *SleepCycleReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. Modify the Reconcile function to compare the state specified by the SleepCycle object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*SleepCycleReconciler) ReconcileCronJobs

func (r *SleepCycleReconciler) ReconcileCronJobs(ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
	desired *corev1alpha1.SleepCycle,
	op SleepCycleOperation,
) (ctrl.Result, error)

func (*SleepCycleReconciler) ReconcileDeployments

func (r *SleepCycleReconciler) ReconcileDeployments(
	ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
	desired *corev1alpha1.SleepCycle,
	op SleepCycleOperation,
) (ctrl.Result, error)

func (*SleepCycleReconciler) ReconcileHorizontalPodAutoscalers

func (r *SleepCycleReconciler) ReconcileHorizontalPodAutoscalers(
	ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
	desired *corev1alpha1.SleepCycle,
	op SleepCycleOperation,
) (ctrl.Result, error)

func (*SleepCycleReconciler) ReconcileStatefulSets

func (r *SleepCycleReconciler) ReconcileStatefulSets(
	ctx context.Context,
	req ctrl.Request,
	original *corev1alpha1.SleepCycle,
	desired *corev1alpha1.SleepCycle,
	op SleepCycleOperation,
) (ctrl.Result, error)

func (*SleepCycleReconciler) RecordEvent

func (r *SleepCycleReconciler) RecordEvent(sleepCycle corev1alpha1.SleepCycle, isError bool, namespacedName string, operation SleepCycleOperation, extra ...string)

func (*SleepCycleReconciler) ScaleDeployment

func (r *SleepCycleReconciler) ScaleDeployment(ctx context.Context, deployment appsv1.Deployment, replicas int32) error

func (*SleepCycleReconciler) ScaleHorizontalPodAutoscaler

func (r *SleepCycleReconciler) ScaleHorizontalPodAutoscaler(ctx context.Context, hpa autoscalingv1.HorizontalPodAutoscaler, replicas int32) error

func (*SleepCycleReconciler) ScaleStatefulSet

func (r *SleepCycleReconciler) ScaleStatefulSet(ctx context.Context, statefulSet appsv1.StatefulSet, replicas int32) error

func (*SleepCycleReconciler) SetupWithManager

func (r *SleepCycleReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

func (*SleepCycleReconciler) SuspendCronJob

func (r *SleepCycleReconciler) SuspendCronJob(ctx context.Context, cronJob batchv1.CronJob, suspend bool) error

func (*SleepCycleReconciler) WatchDeploymentsHandler

func (r *SleepCycleReconciler) WatchDeploymentsHandler(o client.Object) []ctrl.Request

type TimeWindow

type TimeWindow struct {
	Left  time.Time
	Right time.Time
}

func NewTimeWindow

func NewTimeWindow(schedule time.Time) (timeWindow *TimeWindow)

func (TimeWindow) IsScheduleWithinWindow

func (tw TimeWindow) IsScheduleWithinWindow(schedule time.Time) bool

Jump to

Keyboard shortcuts

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