Documentation ¶
Index ¶
- Constants
- Variables
- func APIServerCertificate(cfg *rest.Config) (*x509.Certificate, error)
- func AddLabelBlacklistFlag(fs *pflag.FlagSet)
- func AlreadyReconciled(o interface{}) (bool, error)
- func BuildArgumentListFromMap(baseArguments map[string]string, overrideArguments map[string]string) []string
- func ClusterDomain() string
- func CreateJSONMergePatch(cur interface{}, mod interface{}, fns ...mergepatch.PreconditionFunc) ([]byte, error)
- func CreateJSONPatch(cur interface{}, mod interface{}) ([]byte, error)
- func CreateStrategicPatch(cur interface{}, mod interface{}, fns ...mergepatch.PreconditionFunc) ([]byte, error)
- func Decode(input interface{}, output interface{}) error
- func DecodeObject(in interface{}, out interface{}) error
- func DeepHashObject(hasher hash.Hash, objectToWrite interface{})
- func DeleteInBackground() metav1.DeleteOptions
- func DeleteInForeground() metav1.DeleteOptions
- func Diff(x, y interface{}) string
- func Equal(x, y interface{}) bool
- func EqualAnnotation(x, y map[string]string) bool
- func FilterKeys(domainKey string, out, in map[string]string) map[string]string
- func GenerationHash(in metav1.Object) string
- func GetBool(m map[string]string, key string) (interface{}, error)
- func GetBoolValue(m map[string]string, key string) (bool, error)
- func GetBytesForKeys(m map[string][]byte, key string, alts ...string) ([]byte, error)
- func GetDuration(m map[string]string, key string) (interface{}, error)
- func GetDurationValue(m map[string]string, key string) (time.Duration, error)
- func GetFloat(m map[string]string, key string) (interface{}, error)
- func GetFloatValue(m map[string]string, key string) (float64, error)
- func GetInt(m map[string]string, key string) (interface{}, error)
- func GetIntValue(m map[string]string, key string) (int, error)
- func GetKind(v interface{}) string
- func GetList(m map[string]string, key string) (interface{}, error)
- func GetListValue(m map[string]string, key string) ([]string, error)
- func GetMap(m map[string]string, key string) (interface{}, error)
- func GetMapValue(m map[string]string, key string) (map[string]string, error)
- func GetString(m map[string]string, key string) (interface{}, error)
- func GetStringValue(m map[string]string, key string) (string, error)
- func GetStringValueForKeys(m map[string]string, key string, alts ...string) (string, error)
- func HasKey(m map[string]string, key string) bool
- func IPv6EnabledInCluster(kc kubernetes.Interface) (bool, error)
- func IPv6EnabledInKernel() (bool, error)
- func JsonDiff(old, new interface{}) (string, error)
- func Marshal(v interface{}, format DataFormat) ([]byte, error)
- func MarshalToJson(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)
- func MarshalToPrettyJson(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)
- func MarshalToYAML(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)
- func MergeKeys(out, in map[string]string) map[string]string
- func MustAlreadyReconciled(o interface{}) bool
- func NameWithPrefix(prefix, name string, customLength ...int) string
- func NameWithSuffix(name, suffix string, customLength ...int) string
- func Namespace() stringdeprecated
- func ObjectHash(in metav1.Object) string
- func OverwriteKeys(out map[string]string, ins ...map[string]string) map[string]string
- func ParseArgumentListToMap(arguments []string) map[string]string
- func PodName() string
- func PodNamespace() string
- func PossiblyInCluster() bool
- func RemoveKey(m map[string]string, key string) map[string]string
- func ReplaceArgument(command []string, argMutateFunc func(map[string]string) map[string]string) []string
- func RequireChainKeyUnchanged(key string) mergepatch.PreconditionFunc
- func StatusConditionAwareEqual(old, new interface{}) bool
- func StatusEqual(old, new interface{}) bool
- func StringToQuantityHookFunc() mapstructure.DecodeHookFunc
- func TestAKS(cert *x509.Certificate) (string, error)
- func TestEKS(cert *x509.Certificate) (string, error)
- func TestGKE() (string, error)
- func UnmarshalFromJSON(data []byte, gv schema.GroupVersion) (runtime.Object, error)
- func UnmarshalFromYAML(data []byte, gv schema.GroupVersion) (runtime.Object, error)
- func UpsertArgumentList(baseArgs []string, overrideArgs []string, protectedFlags ...string) []string
- func ValidCronJobNameWithPrefix(prefix, name string) string
- func ValidCronJobNameWithPrefixNSuffix(prefix, name, suffix string) string
- func ValidCronJobNameWithSuffix(name, suffix string) string
- func ValidNameWithPrefix(prefix, name string, customLength ...int) string
- func ValidNameWithPrefixNSuffix(prefix, name, suffix string, customLength ...int) string
- func ValidNameWithSuffix(name, suffix string, customLength ...int) stringdeprecated
- type Codec
- type Condition
- type DataFormat
- type GetFunc
- type ParserFunc
- type PreConditionSet
Constants ¶
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
const LastAppliedConfigAnnotation = "kubectl.kubernetes.io/last-applied-configuration"
Variables ¶
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}} }()
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}} }()
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 ¶
AddLabelBlacklistFlag is for explicitly initializing the flags
func AlreadyReconciled ¶
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 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 ¶
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 EqualAnnotation ¶
EqualAnnotation checks equality of annotations skipping `kubectl.kubernetes.io/last-applied-configuration` key
func GenerationHash ¶
func GetBytesForKeys ¶
func GetDurationValue ¶
func GetStringValueForKeys ¶
func IPv6EnabledInCluster ¶
func IPv6EnabledInCluster(kc kubernetes.Interface) (bool, error)
func IPv6EnabledInKernel ¶
func Marshal ¶
func Marshal(v interface{}, format DataFormat) ([]byte, error)
func MarshalToJson ¶
MarshalToJson marshals an object into json.
func MarshalToPrettyJson ¶
MarshalToPrettyJson marshals an object into pretty json.
func MarshalToYAML ¶
MarshalToYAML marshals an object into yaml.
func MustAlreadyReconciled ¶
func MustAlreadyReconciled(o interface{}) bool
func NameWithPrefix ¶
func NameWithSuffix ¶
func ObjectHash ¶
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 ParseArgumentListToMap ¶
ParseArgumentListToMap parses a CLI argument list in the form "--foo=bar" to a string-string map
func PodNamespace ¶
func PodNamespace() 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 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 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 UnmarshalFromJSON ¶
UnmarshalFromJSON unmarshals an object into json.
func UnmarshalFromYAML ¶
UnmarshalFromYAML unmarshals an object into yaml.
func UpsertArgumentList ¶
func ValidNameWithPrefix ¶
func ValidNameWithSuffix
deprecated
Types ¶
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 PreConditionSet ¶
func (PreConditionSet) Error ¶
func (s PreConditionSet) Error() error
func (PreConditionSet) PreconditionFunc ¶
func (s PreConditionSet) PreconditionFunc() []mergepatch.PreconditionFunc