k8sutil

package
v1.34.1 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 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. The namespace of the dependent resource can either be passed in explicitly, otherwise it will be extracted from the dependent runtime.Object. 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