Documentation
¶
Index ¶
- func ClusterRole(ctx context.Context, rclient client.Client, ...) error
- func ClusterRoleBinding(ctx context.Context, rclient client.Client, ...) error
- func ConfigMap(ctx context.Context, rclient client.Client, newObj *corev1.ConfigMap, ...) (bool, error)
- func DaemonSet(ctx context.Context, rclient client.Client, newObj, prevObj *appsv1.DaemonSet, ...) error
- func Deployment(ctx context.Context, rclient client.Client, newObj, prevObj *appsv1.Deployment, ...) error
- func HPA(ctx context.Context, rclient client.Client, ...) error
- func HTTPRoute(ctx context.Context, rclient client.Client, newObj, prevObj *gwapiv1.HTTPRoute, ...) error
- func Ingress(ctx context.Context, rclient client.Client, ...) error
- func InitDeadlines(intervalCheck, appWaitDeadline, podReadyDeadline time.Duration)
- func IsRetryable(err error) bool
- func PDB(ctx context.Context, rclient client.Client, ...) error
- func PersistentVolumeClaim(ctx context.Context, rclient client.Client, ...) error
- func PodIsReady(pod *corev1.Pod, minReadySeconds int32) bool
- func Role(ctx context.Context, rclient client.Client, newObj, prevObj *rbacv1.Role, ...) error
- func RoleBinding(ctx context.Context, rclient client.Client, ...) error
- func Secret(ctx context.Context, rclient client.Client, newObj *corev1.Secret, ...) error
- func Service(ctx context.Context, rclient client.Client, newObj, prevObj *corev1.Service, ...) error
- func ServiceAccount(ctx context.Context, rclient client.Client, ...) error
- func SetStatusUpdateTTL(v time.Duration)
- func StatefulSet(ctx context.Context, rclient client.Client, cr STSOptions, ...) error
- func StatusForChildObjects[T any, PT interface{ ... }](ctx context.Context, rclient client.Client, parentObjectName string, ...) error
- func UpdateObjectStatus[T client.Object, ST StatusWithMetadata[STC], STC any](ctx context.Context, rclient client.Client, ...) error
- func VMAgent(ctx context.Context, rclient client.Client, newObj, prevObj *vmv1beta1.VMAgent, ...) error
- func VMAuth(ctx context.Context, rclient client.Client, newObj, prevObj *vmv1beta1.VMAuth, ...) error
- func VMCluster(ctx context.Context, rclient client.Client, ...) error
- func VMPodScrapeForCRD(ctx context.Context, rclient client.Client, ...) error
- func VMServiceScrapeForCRD(ctx context.Context, rclient client.Client, ...) error
- type ObjectWithDeepCopyAndStatus
- type STSOptions
- type StatusWithMetadata
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, newObj, prevObj *rbacv1.ClusterRole, owner *metav1.OwnerReference) error
ClusterRole reconciles cluster role object
func ClusterRoleBinding ¶ added in v0.51.0
func ClusterRoleBinding(ctx context.Context, rclient client.Client, newObj, prevObj *rbacv1.ClusterRoleBinding, owner *metav1.OwnerReference) error
ClusterRoleBinding reconciles cluster role binding object
func ConfigMap ¶ added in v0.48.0
func ConfigMap(ctx context.Context, rclient client.Client, newObj *corev1.ConfigMap, prevMeta *metav1.ObjectMeta, owner *metav1.OwnerReference) (bool, error)
ConfigMap reconciles configmap object
func DaemonSet ¶ added in v0.55.0
func DaemonSet(ctx context.Context, rclient client.Client, newObj, prevObj *appsv1.DaemonSet, owner *metav1.OwnerReference) 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, newObj, prevObj *appsv1.Deployment, hasHPA bool, owner *metav1.OwnerReference) 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, newObj, prevObj *v2.HorizontalPodAutoscaler, owner *metav1.OwnerReference) error
HPA creates or update horizontalPodAutoscaler object
func HTTPRoute ¶ added in v0.66.0
func HTTPRoute(ctx context.Context, rclient client.Client, newObj, prevObj *gwapiv1.HTTPRoute, owner *metav1.OwnerReference) error
HTTPRoute creates or updates HTTPRoute object
func Ingress ¶
func Ingress(ctx context.Context, rclient client.Client, newObj, prevObj *networkingv1.Ingress, owner *metav1.OwnerReference) error
Ingress creates or updates Ingress object
func InitDeadlines ¶ added in v0.48.0
InitFromConfig sets package configuration from config
func IsRetryable ¶ added in v0.66.0
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, newObj, prevObj *policyv1.PodDisruptionBudget, owner *metav1.OwnerReference) 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, owner *metav1.OwnerReference) 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 ¶
PodIsReady check is pod is ready
func Role ¶ added in v0.48.0
func Role(ctx context.Context, rclient client.Client, newObj, prevObj *rbacv1.Role, owner *metav1.OwnerReference) error
Role reconciles role object
func RoleBinding ¶ added in v0.48.0
func RoleBinding(ctx context.Context, rclient client.Client, newObj, prevObj *rbacv1.RoleBinding, owner *metav1.OwnerReference) error
RoleBinding reconciles rolebindg object
func Secret ¶ added in v0.48.0
func Secret(ctx context.Context, rclient client.Client, newObj *corev1.Secret, prevMeta *metav1.ObjectMeta, owner *metav1.OwnerReference) error
Secret reconciles secret object
func Service ¶ added in v0.48.0
func Service(ctx context.Context, rclient client.Client, newObj, prevObj *corev1.Service, owner *metav1.OwnerReference) 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, newObj, prevObj *corev1.ServiceAccount, owner *metav1.OwnerReference) error
ServiceAccount creates service account or updates exist one
func SetStatusUpdateTTL ¶ added in v0.52.0
SetStatusUpdateTTL configures TTL for LastUpdateTime field
Higher value decreases load on Kubernetes API server
func StatefulSet ¶
func StatefulSet(ctx context.Context, rclient client.Client, cr STSOptions, newObj, prevObj *appsv1.StatefulSet, owner *metav1.OwnerReference) error
StatefulSet performs create and update operations for given statefulSet with STSOptions
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 VMAgent ¶
func VMAgent(ctx context.Context, rclient client.Client, newObj, prevObj *vmv1beta1.VMAgent, owner *metav1.OwnerReference) error
VMAgent performs an update or create of VMAgent and till it's ready
func VMAuth ¶
func VMAuth(ctx context.Context, rclient client.Client, newObj, prevObj *vmv1beta1.VMAuth, owner *metav1.OwnerReference) error
VMAuth performs an update or create of VMAuth and till it's ready
func VMCluster ¶
func VMCluster(ctx context.Context, rclient client.Client, newObj, prevObj *vmv1beta1.VMCluster, owner *metav1.OwnerReference) error
VMCluster performs an update or create of VMCluster and till it's ready
func VMPodScrapeForCRD ¶ added in v0.55.0
func VMPodScrapeForCRD(ctx context.Context, rclient client.Client, newObj, prevObj *vmv1beta1.VMPodScrape, owner *metav1.OwnerReference) error
VMPodScrapeForCRD creates or updates given object
func VMServiceScrapeForCRD ¶
func VMServiceScrapeForCRD(ctx context.Context, rclient client.Client, newObj, prevObj *vmv1beta1.VMServiceScrape, owner *metav1.OwnerReference) error
VMServiceScrapeForCRD creates or updates given object
Types ¶
type ObjectWithDeepCopyAndStatus ¶ added in v0.59.0
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