Documentation
¶
Index ¶
- func AdditionalServices(ctx context.Context, rclient client.Client, defaultName, namespace string, ...) error
- 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, newCM *corev1.ConfigMap, ...) error
- func Deployment(ctx context.Context, rclient client.Client, ...) error
- func HPA(ctx context.Context, rclient client.Client, ...) error
- func HandleSTSUpdate(ctx context.Context, rclient client.Client, cr STSOptions, ...) error
- func InitDeadlines(intervalCheck, appWaitDeadline, podReadyDeadline time.Duration)
- 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, newRL, prevRL *rbacv1.Role) error
- func RoleBinding(ctx context.Context, rclient client.Client, newRB, prevRB *rbacv1.RoleBinding) error
- func Secret(ctx context.Context, rclient client.Client, newS *corev1.Secret, ...) error
- func Service(ctx context.Context, rclient client.Client, ...) error
- func ServiceAccount(ctx context.Context, rclient client.Client, ...) error
- func StatusForChildObjects[T any, PT interface{ ... }](ctx context.Context, rclient client.Client, parentObjectName string, ...) error
- func VMServiceScrapeForCRD(ctx context.Context, rclient client.Client, vss *vmv1beta1.VMServiceScrape) error
- type STSOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdditionalServices ¶ added in v0.48.0
func AdditionalServices(ctx context.Context, rclient client.Client, defaultName, namespace string, prevSvc, currSvc *vmv1beta1.AdditionalServiceSpec) error
AdditionalServices reconcile AdditionalServices by conditionally removing service from previous state
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 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 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
InitFromConfig sets package configuration from config
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 ¶
PodIsReady check is pod is ready
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 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 VMServiceScrapeForCRD ¶
func VMServiceScrapeForCRD(ctx context.Context, rclient client.Client, vss *vmv1beta1.VMServiceScrape) error
VMServiceScrapeForCRD creates or updates given object
Types ¶
type STSOptions ¶
type STSOptions struct { HasClaim bool SelectorLabels func() map[string]string HPA *vmv1beta1.EmbeddedHPA UpdateReplicaCount func(count *int32) }
STSOptions options for StatefulSet update HPA and UpdateReplicaCount optional