k8sutil

package
v0.17.2 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2020 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CombineManifests added in v0.17.0

func CombineManifests(base []byte, manifests ...[]byte) []byte

CombineManifests combines given manifests with a base manifest and adds yaml style separation. Nothing is appended if the manifest is empty or base already contains a trailing separator.

func CreateFQAPIs added in v0.11.0

func CreateFQAPIs(pkg string, gvs map[string][]string) (apis []string)

CreateFQAPIs return a slice of all fully qualified pkg + groups + versions of pkg and gvs in the format "pkg/groupA/v1".

func FormatOperatorNameDNS1123 added in v0.14.0

func FormatOperatorNameDNS1123(name string) string

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

func GenerateCombinedGlobalManifest added in v0.17.0

func GenerateCombinedGlobalManifest(crdsDir string) (*os.File, error)

GenerateCombinedGlobalManifest creates a temporary manifest yaml by combining all standard global resource manifests in crdsDir.

func GenerateCombinedNamespacedManifest added in v0.17.0

func GenerateCombinedNamespacedManifest(deployDir string) (*os.File, error)

GenerateCombinedNamespacedManifest creates a temporary manifest yaml by combining all standard namespaced resource manifests in deployDir.

func GetCustomResourceDefinitions added in v0.17.0

func GetCustomResourceDefinitions(crdsDir string) (crds []apiextv1beta1.CustomResourceDefinition, err error)

GetCustomResourceDefinitions returns all CRD manifests in the directory crdsDir.

func GetDisplayName added in v0.9.0

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 GetKubeconfigAndNamespace

func GetKubeconfigAndNamespace(configPath string) (*rest.Config, string, error)

GetKubeconfigAndNamespace returns the *rest.Config and default namespace defined in the kubeconfig at the specified path. If no path is provided, returns the default *rest.Config and namespace

func GetObjectBytes added in v0.6.0

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

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

func GetTypeMetaFromBytes added in v0.10.0

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 ParseGroupSubpackages added in v0.11.0

func ParseGroupSubpackages(apisDir string) (map[string][]string, error)

ParseGroupSubpackages parses the apisDir directory tree and returns a map of all found API groups to subpackages.

func ParseGroupVersions added in v0.11.0

func ParseGroupVersions(apisDir string) (map[string][]string, error)

ParseGroupVersions parses the apisDir directory tree and returns a map of all found API groups to versions.

func TrimDNS1123Label added in v0.17.1

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 added in v0.13.0

func (CRDVersions) Len added in v0.13.0

func (vs CRDVersions) Len() int

func (CRDVersions) Less added in v0.13.0

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

func (CRDVersions) Swap added in v0.13.0

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

type MarshalFunc added in v0.9.0

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

type MatchingFields added in v0.11.0

type MatchingFields struct {
	Sel fields.Selector
}

MatchingFields implements the client.ListOption and client.DeleteAllOfOption interfaces so fields.Selector can be used directly in client.List and client.DeleteAllOf.

func (MatchingFields) ApplyToDeleteAllOf added in v0.11.0

func (m MatchingFields) ApplyToDeleteAllOf(opts *client.DeleteAllOfOptions)

func (MatchingFields) ApplyToList added in v0.11.0

func (m MatchingFields) ApplyToList(opts *client.ListOptions)

type Scanner added in v0.17.0

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 added in v0.17.0

func NewYAMLScanner(b []byte) *Scanner

func (*Scanner) Bytes added in v0.17.0

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

func (*Scanner) Err added in v0.17.0

func (s *Scanner) Err() error

func (*Scanner) Scan added in v0.17.0

func (s *Scanner) Scan() bool

func (*Scanner) Text added in v0.17.0

func (s *Scanner) Text() string

Jump to

Keyboard shortcuts

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