util

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2022 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CoreOwnerKindKey          = "core.rukpak.io/owner-kind"
	CoreOwnerNameKey          = "core.rukpak.io/owner-name"
	CoreBundleTemplateHashKey = "core.rukpak.io/bundle-template-hash"
)

Variables

This section is empty.

Functions

func BundleInstanceProvisionerFilter

func BundleInstanceProvisionerFilter(provisionerClassName string) predicate.Predicate

func BundleLabels

func BundleLabels(bundleName string) map[string]string

func BundleProvisionerFilter

func BundleProvisionerFilter(provisionerClassName string) predicate.Predicate

func CheckDesiredBundleTemplate added in v0.4.0

func CheckDesiredBundleTemplate(existingBundle *rukpakv1alpha1.Bundle, desiredBundle *rukpakv1alpha1.BundleTemplate) bool

CheckDesiredBundleTemplate is responsible for determining whether the existingBundle hash is equal to the desiredBundle Bundle template hash.

func CheckExistingBundlesMatchesTemplate added in v0.4.0

func CheckExistingBundlesMatchesTemplate(existingBundles *rukpakv1alpha1.BundleList, desiredBundleTemplate *rukpakv1alpha1.BundleTemplate) *rukpakv1alpha1.Bundle

CheckExistingBundlesMatchesTemplate evaluates whether the existing list of Bundle objects match the desired Bundle template that's specified in a BundleInstance object. If a match is found, that Bundle object is returned, so callers are responsible for nil checking the result.

func DeepHashObject added in v0.5.0

func DeepHashObject(hasher hash.Hash, objectToWrite interface{})

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. From https://github.com/operator-framework/operator-lifecycle-manager/blob/master/pkg/lib/kubernetes/pkg/util/hash/hash.go

func GenerateBundleName added in v0.4.0

func GenerateBundleName(biName, hash string) string

func GenerateTemplateHash added in v0.5.0

func GenerateTemplateHash(template *rukpakv1alpha1.BundleTemplate) string

func GetBundlesForBundleInstanceSelector added in v0.4.0

func GetBundlesForBundleInstanceSelector(ctx context.Context, c client.Client, bi *rukpakv1alpha1.BundleInstance) (*rukpakv1alpha1.BundleList, error)

GetBundlesForBundleInstanceSelector is responsible for returning a list of Bundle resource that exist on cluster that match the label selector specified in the BI parameter's spec.Selector field.

func LoadCertPool added in v0.5.0

func LoadCertPool(certFile string) (*x509.CertPool, error)

func MapBundleInstanceToBundles added in v0.4.0

func MapBundleInstanceToBundles(ctx context.Context, c client.Client, bi rukpakv1alpha1.BundleInstance) *rukpakv1alpha1.BundleList

func MapBundleToBundleInstanceHandler

func MapBundleToBundleInstanceHandler(cl client.Client, log logr.Logger) handler.MapFunc

func MapBundleToBundleInstances added in v0.4.0

func MapBundleToBundleInstances(ctx context.Context, c client.Client, b rukpakv1alpha1.Bundle) []*rukpakv1alpha1.BundleInstance

func MapOwneeToOwnerProvisionerHandler added in v0.5.0

func MapOwneeToOwnerProvisionerHandler(ctx context.Context, cl client.Client, log logr.Logger, provisionerClassName string, owner ProvisionerClassNameGetter) handler.EventHandler

MapOwneeToOwnerProvisionerHandler is a handler implementation that finds an owner reference in the event object that references the provided owner. If a reference for the provided owner is found AND that owner's provisioner class name matches the provided provisionerClassName, this handler enqueues a request for that owner to be reconciled.

func MergeMaps

func MergeMaps(maps ...map[string]string) map[string]string

func NewBundleInstanceLabelSelector added in v0.3.0

func NewBundleInstanceLabelSelector(bi *rukpakv1alpha1.BundleInstance) labels.Selector

NewBundleInstanceLabelSelector is responsible for constructing a label.Selector for any underlying resources that are associated with the BundleInstance parameter.

func NewBundleLabelSelector

func NewBundleLabelSelector(bundle *rukpakv1alpha1.Bundle) labels.Selector

NewBundleLabelSelector is responsible for constructing a label.Selector for any underlying resources that are associated with the Bundle parameter.

func PodName

func PodName(provisionerName, bundleName string) string

func PodNamespace

func PodNamespace(defaultNamespace string) string

GetPodNamespace checks whether the controller is running in a Pod vs. being run locally by inspecting the namespace file that gets mounted automatically for Pods at runtime. If that file doesn't exist, then return the @defaultNamespace namespace parameter.

func SortBundlesByCreation added in v0.4.0

func SortBundlesByCreation(bundles *rukpakv1alpha1.BundleList)

SortBundlesByCreation sorts a BundleList's items by it's metadata.CreationTimestamp value.

Types

type ProvisionerClassNameGetter added in v0.5.0

type ProvisionerClassNameGetter interface {
	client.Object
	ProvisionerClassName() string
}

Jump to

Keyboard shortcuts

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