Documentation ¶
Index ¶
- func CombineManifests(base []byte, manifests ...[]byte) []byte
- func CreateFQAPIs(pkg string, gvs map[string][]string) (apis []string)
- func FormatOperatorNameDNS1123(name string) string
- func GenerateCombinedGlobalManifest(crdsDir string) (*os.File, error)
- func GenerateCombinedNamespacedManifest(deployDir string) (*os.File, error)
- func GetCustomResourceDefinitions(crdsDir string) (crds []apiextv1beta1.CustomResourceDefinition, err error)
- func GetDisplayName(name string) string
- func GetKubeconfigAndNamespace(configPath string) (*rest.Config, string, error)
- func GetObjectBytes(obj interface{}, m MarshalFunc) ([]byte, error)
- func GetTypeMetaFromBytes(b []byte) (t metav1.TypeMeta, err error)
- func ParseGroupSubpackages(apisDir string) (map[string][]string, error)
- func ParseGroupVersions(apisDir string) (map[string][]string, error)
- func TrimDNS1123Label(label string) string
- type CRDVersions
- type MarshalFunc
- type MatchingFields
- type Scanner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CombineManifests ¶ added in v0.17.0
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
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
FormatOperatorNameDNS1123 ensures name is DNS1123 label-compliant by replacing all non-compliant UTF-8 characters with "-".
func GenerateCombinedGlobalManifest ¶ added in v0.17.0
GenerateCombinedGlobalManifest creates a temporary manifest yaml by combining all standard global resource manifests in crdsDir.
func GenerateCombinedNamespacedManifest ¶ added in v0.17.0
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
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 ¶
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
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
ParseGroupSubpackages parses the apisDir directory tree and returns a map of all found API groups to subpackages.
func ParseGroupVersions ¶ added in v0.11.0
ParseGroupVersions parses the apisDir directory tree and returns a map of all found API groups to versions.
func TrimDNS1123Label ¶ added in v0.17.1
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
type CRDVersions []apiextv1beta1.CustomResourceDefinitionVersion
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 MatchingFields ¶ added in v0.11.0
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.