k8stools

package
v0.41.0 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ServerMajorVersion uint64
	ServerMinorVersion uint64
)

Functions

func CompareObjectMeta

func CompareObjectMeta(t *testing.T, got, want metav1.ObjectMeta)

func GetTestClientWithObjects

func GetTestClientWithObjects(predefinedObjects []runtime.Object) client.Client

func HandleDeployUpdate added in v0.22.1

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

func HandleSTSUpdate added in v0.20.0

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

HandleSTSUpdate performs create and update operations for given statefulSet with STSOptions

func IsFSGroupChangePolicySupported added in v0.36.0

func IsFSGroupChangePolicySupported() bool

IsFSGroupChangePolicySupported checks if `fsGroupChangePolicy` is supported, Supported since 1.20 https://kubernetes.io/blog/2020/12/14/kubernetes-release-1.20-fsgroupchangepolicy-fsgrouppolicy/#allow-users-to-skip-recursive-permission-changes-on-mount

func IsHPAV2BetaSupported added in v0.30.3

func IsHPAV2BetaSupported() bool

IsHPAV2BetaSupported checks if new Beta deprecated since 1.26 https://kubernetes.io/blog/2021/12/07/kubernetes-1-23-release-announcement/#horizontalpodautoscaler-v2-graduates-to-ga

func IsPDBV1APISupported added in v0.23.0

func IsPDBV1APISupported() bool

IsPDBV1APISupported check if new v1 API is supported by kubernetes API server deprecated since 1.21 https://kubernetes.io/docs/reference/using-api/deprecation-guide/#poddisruptionbudget-v125

func IsPSPSupported added in v0.23.0

func IsPSPSupported() bool

IsPSPSupported check if PodSecurityPolicy is supported by kubernetes API server https://kubernetes.io/docs/reference/using-api/deprecation-guide/#psp-v125

func MergeAnnotations added in v0.22.0

func MergeAnnotations(prev, current map[string]string) map[string]string

MergeAnnotations adds annotations with kubernetes.io/ to the current map from prev It's needed for kubectl restart, correct updates such annotations managed by kubernetes controller and shouldn't be changed by operator

func MergePatchContainers

func MergePatchContainers(base, patches []v1.Container) ([]v1.Container, error)

MergePatchContainers adds patches to base using a strategic merge patch and iterating by container name, failing on the first error

func MustConvertObjectVersionsJSON added in v0.30.3

func MustConvertObjectVersionsJSON[A, B any](src *A, objectName string) *B

MustConvertObjectVersionsJSON objects with json serialize and deserialize it could be used only for converting BETA apis to Stable version

func NewHPAEmptyObject added in v0.30.3

func NewHPAEmptyObject(opts ...func(obj client.Object)) client.Object

NewHPAEmptyObject returns HorizontalPodAutoscaler object for given kubernetes version

func PodIsFailedWithReason added in v0.26.0

func PodIsFailedWithReason(pod corev1.Pod) (bool, string)

PodIsFailedWithReason reports if pod failed and the reason of fail

func PodIsReady added in v0.20.0

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

PodIsReady check is pod is ready

func RenderPlaceholders added in v0.31.0

func RenderPlaceholders[T any](resource *T, placeholders map[string]string) (*T, error)

RenderPlaceholders replaces placeholders at resource with given values placeholder must be in %NAME% format resource must be reference to json serializable struct

func SanitizeVolumeName

func SanitizeVolumeName(name string) string

func SetKubernetesVersionWithDefaults added in v0.23.2

func SetKubernetesVersionWithDefaults(vi *version.Info, defaultMinor, defaultMajor uint64) error

SetKubernetesVersionWithDefaults parses kubernetes version response with given default versions

func UpdatePodAnnotations

func UpdatePodAnnotations(ctx context.Context, rclient client.Client, selector map[string]string, ns string) error

UpdatePodAnnotations - updates configmap-sync-time annotation it triggers config rules reload for vmalert

Types

type STSOptions added in v0.20.0

type STSOptions struct {
	HasClaim           bool
	SelectorLabels     func() map[string]string
	VolumeName         func() string
	UpdateStrategy     func() appsv1.StatefulSetUpdateStrategyType
	HPA                *victoriametricsv1beta1.EmbeddedHPA
	UpdateReplicaCount func(count *int32)
}

STSOptions options for StatefulSet update HPA and UpdateReplicaCount optional

Jump to

Keyboard shortcuts

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