Documentation
¶
Index ¶
- Constants
- func CalculateAvailableReleasesToKeep(releases []rolloutv1alpha1.VersionInfo, ...) []rolloutv1alpha1.VersionInfo
- type Clock
- type ClusterRolloutScheduleReconciler
- type HealthCheckReconciler
- type KustomizationHealthReconciler
- type KustomizationReference
- type RealClock
- type RolloutReconciler
- type RolloutScheduleReconciler
Constants ¶
const ( LabelScheduleName = "gate.kuberik.com/schedule-name" LabelScheduleNamespace = "gate.kuberik.com/schedule-namespace" LabelScheduleKind = "gate.kuberik.com/schedule-kind" LabelRolloutName = "gate.kuberik.com/rollout-name" )
Label keys for schedule-managed gates
Variables ¶
This section is empty.
Functions ¶
func CalculateAvailableReleasesToKeep ¶ added in v0.6.0
func CalculateAvailableReleasesToKeep( releases []rolloutv1alpha1.VersionInfo, history []rolloutv1alpha1.DeploymentHistoryEntry, cutoffTime time.Time, minReleases int, ) []rolloutv1alpha1.VersionInfo
CalculateAvailableReleasesToKeep determines which available releases should be retained based on multiple criteria. It returns a slice of VersionInfo that should be kept. releases: the current list of available releases (sorted oldest to newest) history: the current deployment history cutoffTime: releases older than this may be removed (unless kept by other criteria) minReleases: keep at least this many newest releases
Types ¶
type ClusterRolloutScheduleReconciler ¶ added in v0.7.0
type ClusterRolloutScheduleReconciler struct {
client.Client
Scheme *runtime.Scheme
Recorder record.EventRecorder
Clock Clock
}
ClusterRolloutScheduleReconciler reconciles a ClusterRolloutSchedule object
func (*ClusterRolloutScheduleReconciler) Reconcile ¶ added in v0.7.0
func (r *ClusterRolloutScheduleReconciler) 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.
func (*ClusterRolloutScheduleReconciler) SetupWithManager ¶ added in v0.7.0
func (r *ClusterRolloutScheduleReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type HealthCheckReconciler ¶
HealthCheckReconciler reconciles a HealthCheck object
func (*HealthCheckReconciler) Reconcile ¶
func (r *HealthCheckReconciler) 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. This controller handles generic HealthCheck logic and delegates specific health checking to specialized controllers based on the class. It also watches Rollout resources to reset health checks when deployments happen.
func (*HealthCheckReconciler) ResetHealthCheckStatus ¶
func (r *HealthCheckReconciler) ResetHealthCheckStatus(ctx context.Context, healthCheck *rolloutv1alpha1.HealthCheck) error
ResetHealthCheckStatus resets the HealthCheck status to Pending This should be called when a new deployment is detected
func (*HealthCheckReconciler) SetupWithManager ¶
func (r *HealthCheckReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type KustomizationHealthReconciler ¶
KustomizationHealthReconciler reconciles a KustomizationHealth object
func (*KustomizationHealthReconciler) Reconcile ¶
func (r *KustomizationHealthReconciler) 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.
func (*KustomizationHealthReconciler) SetupWithManager ¶
func (r *KustomizationHealthReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type KustomizationReference ¶
KustomizationReference represents a reference to a kustomization
type RolloutReconciler ¶
type RolloutReconciler struct {
client.Client
Scheme *runtime.Scheme
Clock Clock
Recorder record.EventRecorder
}
RolloutReconciler reconciles a Rollout object
func (*RolloutReconciler) Reconcile ¶
Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state.
func (*RolloutReconciler) SetupWithManager ¶
func (r *RolloutReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type RolloutScheduleReconciler ¶ added in v0.7.0
type RolloutScheduleReconciler struct {
client.Client
Scheme *runtime.Scheme
Recorder record.EventRecorder
Clock Clock
}
RolloutScheduleReconciler reconciles a RolloutSchedule object
func (*RolloutScheduleReconciler) Reconcile ¶ added in v0.7.0
func (r *RolloutScheduleReconciler) 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.
func (*RolloutScheduleReconciler) SetupWithManager ¶ added in v0.7.0
func (r *RolloutScheduleReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.