reconcile

package
v0.67.0 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2026 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClusterRole added in v0.51.0

func ClusterRole(ctx context.Context, rclient client.Client, newClusterRole, prevClusterRole *rbacv1.ClusterRole) error

ClusterRole reconciles cluster role object

func ClusterRoleBinding added in v0.51.0

func ClusterRoleBinding(ctx context.Context, rclient client.Client, newCRB, prevCRB *rbacv1.ClusterRoleBinding) error

ClusterRoleBinding reconciles cluster role binding object

func ConfigMap added in v0.48.0

func ConfigMap(ctx context.Context, rclient client.Client, newCM *corev1.ConfigMap, prevCMMEta *metav1.ObjectMeta) error

ConfigMap reconciles configmap object

func DaemonSet added in v0.55.0

func DaemonSet(ctx context.Context, rclient client.Client, newDs, prevDs *appsv1.DaemonSet) error

DaemonSet performs an update or create operator for daemonset and waits until it finishes update rollout

func Deployment

func Deployment(ctx context.Context, rclient client.Client, newDeploy, prevDeploy *appsv1.Deployment, hasHPA bool) error

Deployment performs an update or create operator for deployment and waits until it's replicas is ready

func HPA

func HPA(ctx context.Context, rclient client.Client, newHPA, prevHPA *v2.HorizontalPodAutoscaler) error

HPA creates or update horizontalPodAutoscaler object

func HTTPRoute added in v0.66.0

func HTTPRoute(ctx context.Context, rclient client.Client, newHTTPRoute, prevHTTPRoute *gwapiv1.HTTPRoute) error

HTTPRoute creates or updates HTTPRoute object

func HandleSTSUpdate

func HandleSTSUpdate(ctx context.Context, rclient client.Client, cr STSOptions, newSts, prevSts *appsv1.StatefulSet) error

HandleSTSUpdate performs create and update operations for given statefulSet with STSOptions

func InitDeadlines added in v0.48.0

func InitDeadlines(intervalCheck, appWaitDeadline, podReadyDeadline time.Duration)

InitFromConfig sets package configuration from config

func IsRetryable added in v0.66.0

func IsRetryable(err error) bool

IsRetryable determines one of errors: * error which indicates that timeout for app transition into Ready state reached and should be continued at the next reconcile loop * k8s conflict error * reconciled resource is being deleted

func PDB

func PDB(ctx context.Context, rclient client.Client, newPDB, prevPDB *policyv1.PodDisruptionBudget) error

PDB creates or updates PodDisruptionBudget

func PersistentVolumeClaim added in v0.48.0

func PersistentVolumeClaim(ctx context.Context, rclient client.Client, newPVC, prevPVC *corev1.PersistentVolumeClaim) error

PersistentVolumeClaim reconciles PVC object It updates only resource spec other fields are ignored Makes attempt to resize pvc if needed in case of deletion timestamp > 0 does nothing user must manually remove finalizer if needed

func PodIsReady

func PodIsReady(pod *corev1.Pod, minReadySeconds int32) bool

PodIsReady check is pod is ready

func Role added in v0.48.0

func Role(ctx context.Context, rclient client.Client, newRL, prevRL *rbacv1.Role) error

Role reconciles role object

func RoleBinding added in v0.48.0

func RoleBinding(ctx context.Context, rclient client.Client, newRB, prevRB *rbacv1.RoleBinding) error

RoleBinding reconciles rolebindg object

func Secret added in v0.48.0

func Secret(ctx context.Context, rclient client.Client, newS *corev1.Secret, prevMeta *metav1.ObjectMeta) error

Secret reconciles secret object

func Service added in v0.48.0

func Service(ctx context.Context, rclient client.Client, newService, prevService *corev1.Service) error

Service - reconcile needed and actual state of service for given crd, it will recreate service if needed. NOTE it doesn't perform validation: in case of spec.type= LoadBalancer or NodePort, clusterIP: None is not allowed, its users responsibility to define it correctly.

func ServiceAccount

func ServiceAccount(ctx context.Context, rclient client.Client, newSA, prevSA *corev1.ServiceAccount) error

ServiceAccount creates service account or updates exist one

func SetStatusUpdateTTL added in v0.52.0

func SetStatusUpdateTTL(v time.Duration)

SetStatusUpdateTTL configures TTL for LastUpdateTime field

Higher value decreases load on Kubernetes API server

func StatusForChildObjects added in v0.51.0

func StatusForChildObjects[T any, PT interface {
	*T
	objectWithStatus
}](ctx context.Context, rclient client.Client, parentObjectName string, childObjects []PT) error

StatusForChildObjects reconciles status sub-resources Expects parentObjectName in the following form: NAME.NAMESPACE.RESOURCE

for example vmalertmanager `main` at namespace `monitoring` must be in form: main.monitoring.vmalertmanager

func UpdateObjectStatus added in v0.59.0

func UpdateObjectStatus[T client.Object, ST StatusWithMetadata[STC], STC any](ctx context.Context, rclient client.Client, object ObjectWithDeepCopyAndStatus[T, ST, STC], actualStatus vmv1beta1.UpdateStatus, maybeErr error) error

UpdateStatus reconcile provided object status with given actualStatus status

func VMPodScrapeForCRD added in v0.55.0

func VMPodScrapeForCRD(ctx context.Context, rclient client.Client, vps *vmv1beta1.VMPodScrape) error

VMPodScrapeForCRD creates or updates given object

func VMServiceScrapeForCRD

func VMServiceScrapeForCRD(ctx context.Context, rclient client.Client, vss *vmv1beta1.VMServiceScrape) error

VMServiceScrapeForCRD creates or updates given object

Types

type ObjectWithDeepCopyAndStatus added in v0.59.0

type ObjectWithDeepCopyAndStatus[T client.Object, ST StatusWithMetadata[STC], STC any] interface {
	client.Object
	DeepCopy() T
	GetStatus() ST
	DefaultStatusFields(ST)
}

type STSOptions

type STSOptions struct {
	HasClaim           bool
	SelectorLabels     func() map[string]string
	HPA                *vmv1beta1.EmbeddedHPA
	UpdateReplicaCount func(count *int32)
	UpdateBehavior     *vmv1beta1.StatefulSetUpdateStrategyBehavior
}

STSOptions options for StatefulSet update HPA and UpdateReplicaCount optional

type StatusWithMetadata added in v0.59.0

type StatusWithMetadata[T any] interface {
	DeepCopy() T
	GetStatusMetadata() *vmv1beta1.StatusMetadata
}

StatusWithMetadata defines

Jump to

Keyboard shortcuts

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