meta

package
v0.30.5 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2024 License: Apache-2.0 Imports: 43 Imported by: 327

Documentation

Overview

nolint: goconst

Index

Constants

View Source
const (
	NameLabelKey      = "app.kubernetes.io/name"
	VersionLabelKey   = "app.kubernetes.io/version"
	InstanceLabelKey  = "app.kubernetes.io/instance"
	PartOfLabelKey    = "app.kubernetes.io/part-of"
	ComponentLabelKey = "app.kubernetes.io/component"
	ManagedByLabelKey = "app.kubernetes.io/managed-by"

	MaxCronJobNameLength = 52 // xref: https://github.com/kubernetes/kubernetes/pull/52733
)

https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/#labels ref: https://github.com/kubernetes-sigs/application/blob/4ead7f1b87048b7717b3e474a21fdc07e6bce636/pkg/controller/application/application_controller.go#L28

View Source
const LastAppliedConfigAnnotation = "kubectl.kubernetes.io/last-applied-configuration"

Variables

View Source
var JSONPrettySerializer = func() *Codec {
	mediaType := "application/json"
	info, ok := runtime.SerializerInfoForMediaType(scheme.Codecs.SupportedMediaTypes(), mediaType)
	if !ok {
		panic("unsupported media type " + mediaType)
	}
	return &Codec{&codec{info.PrettySerializer}}
}()
View Source
var JSONSerializer = func() *Codec {
	mediaType := "application/json"
	info, ok := runtime.SerializerInfoForMediaType(scheme.Codecs.SupportedMediaTypes(), mediaType)
	if !ok {
		panic("unsupported media type " + mediaType)
	}
	return &Codec{&codec{info.Serializer}}
}()
View Source
var YAMLSerializer = func() *Codec {
	mediaType := "application/yaml"
	info, ok := runtime.SerializerInfoForMediaType(scheme.Codecs.SupportedMediaTypes(), mediaType)
	if !ok {
		panic("unsupported media type " + mediaType)
	}
	return &Codec{&codec{info.Serializer}}
}()

Functions

func APIServerCertificate

func APIServerCertificate(cfg *rest.Config) (*x509.Certificate, error)

func AddLabelBlacklistFlag

func AddLabelBlacklistFlag(fs *pflag.FlagSet)

AddLabelBlacklistFlag is for explicitly initializing the flags

func AlreadyReconciled

func AlreadyReconciled(o interface{}) (bool, error)

func BuildArgumentListFromMap

func BuildArgumentListFromMap(baseArguments map[string]string, overrideArguments map[string]string) []string

BuildArgumentListFromMap takes two string-string maps, one with the base arguments and one with optional override arguments

func ClusterDomain

func ClusterDomain() string

func CreateJSONMergePatch

func CreateJSONMergePatch(cur interface{}, mod interface{}, fns ...mergepatch.PreconditionFunc) ([]byte, error)

func CreateJSONPatch

func CreateJSONPatch(cur interface{}, mod interface{}) ([]byte, error)

func CreateStrategicPatch

func CreateStrategicPatch(cur interface{}, mod interface{}, fns ...mergepatch.PreconditionFunc) ([]byte, error)

func Decode

func Decode(input interface{}, output interface{}) error

Decode takes an input structure and uses reflection to translate it to the output structure. output must be a pointer to a map or struct.

WARNING: `json` tags are not respected when struct converted to map[string]interface{} WARNING: Embedded structs are not decoded properly: https://github.com/mitchellh/mapstructure/pull/80

func DecodeObject

func DecodeObject(in interface{}, out interface{}) error

func DeepHashObject

func DeepHashObject(hasher hash.Hash, objectToWrite interface{})

DeepHashObject writes specified object to hash using the spew library which follows pointers and prints actual values of the nested objects ensuring the hash does not change when a pointer changes.

func DeleteInBackground

func DeleteInBackground() metav1.DeleteOptions

func DeleteInForeground

func DeleteInForeground() metav1.DeleteOptions

func Diff

func Diff(x, y interface{}) string

func Equal

func Equal(x, y interface{}) bool

func EqualAnnotation

func EqualAnnotation(x, y map[string]string) bool

EqualAnnotation checks equality of annotations skipping `kubectl.kubernetes.io/last-applied-configuration` key

func FilterKeys

func FilterKeys(domainKey string, out, in map[string]string) map[string]string

func GenerationHash

func GenerationHash(in metav1.Object) string

func GetBool

func GetBool(m map[string]string, key string) (interface{}, error)

func GetBoolValue

func GetBoolValue(m map[string]string, key string) (bool, error)

func GetBytesForKeys

func GetBytesForKeys(m map[string][]byte, key string, alts ...string) ([]byte, error)

func GetCondition added in v0.25.20

func GetCondition(conditions []metav1.Condition, condType string) (int, *metav1.Condition)

GetCondition returns a pointer to the desired condition referred by "condType". Otherwise, it returns nil.

func GetDuration

func GetDuration(m map[string]string, key string) (interface{}, error)

func GetDurationValue

func GetDurationValue(m map[string]string, key string) (time.Duration, error)

func GetFloat

func GetFloat(m map[string]string, key string) (interface{}, error)

func GetFloatValue

func GetFloatValue(m map[string]string, key string) (float64, error)

func GetInt

func GetInt(m map[string]string, key string) (interface{}, error)

func GetIntValue

func GetIntValue(m map[string]string, key string) (int, error)

func GetKind

func GetKind(v interface{}) string

func GetList

func GetList(m map[string]string, key string) (interface{}, error)

func GetListValue

func GetListValue(m map[string]string, key string) ([]string, error)

func GetMap

func GetMap(m map[string]string, key string) (interface{}, error)

func GetMapValue

func GetMapValue(m map[string]string, key string) (map[string]string, error)

func GetString

func GetString(m map[string]string, key string) (interface{}, error)

func GetStringValue

func GetStringValue(m map[string]string, key string) (string, error)

func GetStringValueForKeys

func GetStringValueForKeys(m map[string]string, key string, alts ...string) (string, error)

func HasCondition added in v0.25.20

func HasCondition(conditions []metav1.Condition, condType string) bool

HasCondition returns "true" if the desired condition provided in "condType" is present in the condition list. Otherwise, it returns "false".

func HasKey

func HasKey(m map[string]string, key string) bool

func IPv6EnabledInCluster

func IPv6EnabledInCluster(kc kubernetes.Interface) (bool, error)

func IPv6EnabledInKernel

func IPv6EnabledInKernel() (bool, error)

func IsConditionFalse added in v0.25.20

func IsConditionFalse(conditions []metav1.Condition, condType string) bool

IsConditionFalse returns "true" if the desired condition is in false state. It returns "false" if the desired condition is not in "false" state or is not in the condition list.

func IsConditionTrue added in v0.25.20

func IsConditionTrue(conditions []metav1.Condition, condType string) bool

IsConditionTrue returns "true" if the desired condition is in true state. It returns "false" if the desired condition is not in "true" state or is not in the condition list.

func IsConditionUnknown added in v0.25.20

func IsConditionUnknown(conditions []metav1.Condition, condType string) bool

IsConditionUnknown returns "true" if the desired condition is in unknown state. It returns "false" if the desired condition is not in "unknown" state or is not in the condition list.

func IsOfficialType added in v0.25.42

func IsOfficialType(group string) bool

func JsonDiff

func JsonDiff(old, new interface{}) (string, error)

func LabelsForLabelSelector added in v0.25.34

func LabelsForLabelSelector(sel *metav1.LabelSelector) (map[string]string, bool)

func Marshal

func Marshal(v interface{}, format DataFormat) ([]byte, error)

func MarshalToJson

func MarshalToJson(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)

MarshalToJson marshals an object into json.

func MarshalToPrettyJson

func MarshalToPrettyJson(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)

MarshalToPrettyJson marshals an object into pretty json.

func MarshalToYAML

func MarshalToYAML(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)

MarshalToYAML marshals an object into yaml.

func MergeKeys

func MergeKeys(out, in map[string]string) map[string]string

func MustAlreadyReconciled

func MustAlreadyReconciled(o interface{}) bool

func NameWithPrefix

func NameWithPrefix(prefix, name string, customLength ...int) string

func NameWithSuffix

func NameWithSuffix(name, suffix string, customLength ...int) string

func NewCondition added in v0.25.20

func NewCondition(reason string, message string, generation int64, conditionStatus ...bool) metav1.Condition

func NodeName added in v0.25.17

func NodeName() string

func ObjectHash

func ObjectHash(in metav1.Object) string

ObjectHash includes all top label fields (like data, spec) except TypeMeta, ObjectMeta and Status also includes Generation, Annotation and Labels form ObjectMeta

func OverwriteKeys

func OverwriteKeys(out map[string]string, ins ...map[string]string) map[string]string

func ParseArgumentListToMap

func ParseArgumentListToMap(arguments []string) map[string]string

ParseArgumentListToMap parses a CLI argument list in the form "--foo=bar" to a string-string map

func PodName

func PodName() string

func PodNamespace

func PodNamespace() string

func PodServiceAccount added in v0.25.17

func PodServiceAccount() string

func PossiblyInCluster

func PossiblyInCluster() bool

PossiblyInCluster returns true if loading an inside-kubernetes-cluster is possible. ref: https://github.com/kubernetes/kubernetes/blob/v1.18.3/staging/src/k8s.io/client-go/tools/clientcmd/client_config.go#L537

func RemoveCondition added in v0.25.20

func RemoveCondition(conditions []metav1.Condition, condType string) []metav1.Condition

RemoveCondition remove a condition from the condition list referred by "condType" parameter.

func RemoveKey

func RemoveKey(m map[string]string, key string) map[string]string

func ReplaceArgument

func ReplaceArgument(command []string, argMutateFunc func(map[string]string) map[string]string) []string

ReplaceArgument gets a command list; converts it to a map for easier modification, runs the provided function that returns a new modified map, and then converts the map back to a command string slice

func RequireChainKeyUnchanged

func RequireChainKeyUnchanged(key string) mergepatch.PreconditionFunc

func ResourceHash added in v0.29.8

func ResourceHash(obj metav1.Object) string

func SetCondition added in v0.25.20

func SetCondition(conditions []metav1.Condition, newCondition metav1.Condition) []metav1.Condition

SetCondition add/update the desired condition to the condition list. It does nothing if the condition is already in its desired state.

func StatusConditionAwareEqual

func StatusConditionAwareEqual(old, new interface{}) bool

func StatusEqual

func StatusEqual(old, new interface{}) bool

func StringToQuantityHookFunc

func StringToQuantityHookFunc() mapstructure.DecodeHookFunc

StringToQuantityHookFunc returns a DecodeHookFunc that converts string to resource.Quantity

func TestAKS

func TestAKS(cert *x509.Certificate) (string, error)

func TestEKS

func TestEKS(cert *x509.Certificate) (string, error)

func UnmarshalFromJSON

func UnmarshalFromJSON(data []byte, gv schema.GroupVersion) (runtime.Object, error)

UnmarshalFromJSON unmarshals an object into json.

func UnmarshalFromYAML

func UnmarshalFromYAML(data []byte, gv schema.GroupVersion) (runtime.Object, error)

UnmarshalFromYAML unmarshals an object into yaml.

func UpsertArgumentList

func UpsertArgumentList(baseArgs []string, overrideArgs []string, protectedFlags ...string) []string

func ValidCronJobNameWithPrefix

func ValidCronJobNameWithPrefix(prefix, name string) string

func ValidCronJobNameWithPrefixNSuffix

func ValidCronJobNameWithPrefixNSuffix(prefix, name, suffix string) string

func ValidCronJobNameWithSuffix

func ValidCronJobNameWithSuffix(name, suffix string) string

func ValidNameWithPrefix

func ValidNameWithPrefix(prefix, name string, customLength ...int) string

func ValidNameWithPrefixNSuffix

func ValidNameWithPrefixNSuffix(prefix, name, suffix string, customLength ...int) string

func ValidNameWithSuffix deprecated

func ValidNameWithSuffix(name, suffix string, customLength ...int) string

Deprecated: Use NameWithSuffix in new code

Types

type Codec

type Codec struct {
	// contains filtered or unexported fields
}

type Condition

type Condition struct {
	Type               string `json:"type"`
	Status             string `json:"status"`
	ObservedGeneration int64  `json:"observedGeneration,omitempty"`
}

type DataFormat

type DataFormat string
const (
	// Do not change format
	KeepFormat DataFormat = ""
	JsonFormat DataFormat = "json"
	YAMLFormat DataFormat = "yaml"
)

func NewDataFormat

func NewDataFormat(format string, def DataFormat) DataFormat

type GetFunc

type GetFunc func(map[string]string) (interface{}, error)

func ParseFor

func ParseFor(key string, fn ParserFunc) GetFunc

type ParserFunc

type ParserFunc func(map[string]string, string) (interface{}, error)

type PreConditionSet

type PreConditionSet struct {
	sets.Set[string]
}

func (PreConditionSet) Error

func (s PreConditionSet) Error() error

func (PreConditionSet) PreconditionFunc

func (s PreConditionSet) PreconditionFunc() []mergepatch.PreconditionFunc

type Status added in v0.25.20

type Status string

Status defines the set of statuses a resource can have. Based on kstatus: https://github.com/kubernetes-sigs/cli-utils/tree/master/pkg/kstatus +kubebuilder:validation:Enum=InProgress;Failed;Current;Terminating;NotFound;Unknown

const (
	// The set of status conditions which can be assigned to resources.
	InProgressStatus  Status = "InProgress"
	FailedStatus      Status = "Failed"
	CurrentStatus     Status = "Current"
	TerminatingStatus Status = "Terminating"
	NotFoundStatus    Status = "NotFound"
	UnknownStatus     Status = "Unknown"
)

func StatusFromStringOrDie added in v0.25.20

func StatusFromStringOrDie(text string) Status

StatusFromStringOrDie turns a string into a Status. Will panic if the provided string is not a valid status.

func (Status) String added in v0.25.20

func (s Status) String() string

String returns the status as a string.

Jump to

Keyboard shortcuts

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