k8sutil

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: May 24, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// KubeConfigEnvVar defines the env variable KUBECONFIG which
	// contains the kubeconfig file path.
	KubeConfigEnvVar = "KUBECONFIG"

	// WatchNamespaceEnvVar is the constant for env variable WATCH_NAMESPACE
	// which is the namespace where the watch activity happens.
	// this value is empty if the operator is running with clusterScope.
	WatchNamespaceEnvVar = "WATCH_NAMESPACE"
)

Variables

This section is empty.

Functions

func DefinitionsForV1CustomResourceDefinitions

func DefinitionsForV1CustomResourceDefinitions(crds ...apiextv1.CustomResourceDefinition) (keys []registry.DefinitionKey)

DefinitionsForV1CustomResourceDefinitions returns definition keys for all custom resource versions in each crd in crds.

func DefinitionsForV1beta1CustomResourceDefinitions

func DefinitionsForV1beta1CustomResourceDefinitions(crds ...apiextv1beta1.CustomResourceDefinition) (keys []registry.DefinitionKey)

DefinitionsForV1beta1CustomResourceDefinitions returns definition keys for all custom resource versions in each crd in crds.

func FormatOperatorNameDNS1123

func FormatOperatorNameDNS1123(name string) string

FormatOperatorNameDNS1123 ensures name is DNS1123 label-compliant by replacing all non-compliant UTF-8 characters with "-".

func GVKsForV1CustomResourceDefinitions

func GVKsForV1CustomResourceDefinitions(crds ...apiextv1.CustomResourceDefinition) (gvks []schema.GroupVersionKind)

GVKsForV1CustomResourceDefinitions returns GroupVersionKind's for all custom resource versions in each crd in crds.

func GVKsForV1beta1CustomResourceDefinitions

func GVKsForV1beta1CustomResourceDefinitions(crds ...apiextv1beta1.CustomResourceDefinition) (gvks []schema.GroupVersionKind)

GVKsForV1beta1CustomResourceDefinitions returns GroupVersionKind's for all custom resource versions in each crd in crds.

func GetCustomResourceDefinitions

func GetCustomResourceDefinitions(crdsDir string) (
	v1crds []apiextv1.CustomResourceDefinition,
	v1beta1crds []apiextv1beta1.CustomResourceDefinition,
	err error)

GetCustomResourceDefinitions returns all CRD manifests of both v1 and v1beta1 versions in the directory crdsDir. If a duplicate object with different API versions is found, and error is returned.

func GetDisplayName

func GetDisplayName(name string) string

GetDisplayName turns a project dir name in any of {snake, chain, camel} cases, hierarchical dot structure, or space-delimited into a space-delimited, title'd display name. Ex. "another-_AppOperator_againTwiceThrice More" -> "Another App Operator Again Twice Thrice More"

func GetObjectBytes

func GetObjectBytes(obj interface{}, m MarshalFunc) ([]byte, error)

GetObjectBytes marshalls an object with m and removes runtime-managed fields: 'status', 'creationTimestamp'

func GetTypeMetaFromBytes

func GetTypeMetaFromBytes(b []byte) (t metav1.TypeMeta, err error)

GetTypeMetaFromBytes gets the type and object metadata from b. b is assumed to be a single Kubernetes resource manifest.

func SupportsOwnerReference

func SupportsOwnerReference(restMapper meta.RESTMapper, owner, dependent runtime.Object, depNamespace string) (bool, error)

SupportsOwnerReference checks whether a given dependent supports owner references, based on the owner. This function performs following checks:

-- True: Owner is cluster-scoped.
-- True: Both Owner and dependent are Namespaced with in same namespace.
-- False: Owner is Namespaced and dependent is Cluster-scoped.
-- False: Both Owner and dependent are Namespaced with different namespaces.

func TrimDNS1123Label

func TrimDNS1123Label(label string) string

TrimDNS1123Label trims a label to meet the DNS 1123 label length requirement by removing characters from the beginning of label such that len(label) <= 63.

Types

type CRDVersions

func (CRDVersions) Len

func (vs CRDVersions) Len() int

func (CRDVersions) Less

func (vs CRDVersions) Less(i, j int) bool

func (CRDVersions) Swap

func (vs CRDVersions) Swap(i, j int)

type MarshalFunc

type MarshalFunc func(interface{}) ([]byte, error)

type Scanner

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

Scanner scans a yaml manifest file for manifest tokens delimited by "---". See bufio.Scanner for semantics.

func NewYAMLScanner

func NewYAMLScanner(r io.Reader) *Scanner

func (*Scanner) Bytes

func (s *Scanner) Bytes() []byte

func (*Scanner) Err

func (s *Scanner) Err() error

func (*Scanner) Scan

func (s *Scanner) Scan() bool

func (*Scanner) Text

func (s *Scanner) Text() string

Jump to

Keyboard shortcuts

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