apply

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2024 License: Apache-2.0 Imports: 49 Imported by: 182

Documentation

Index

Constants

View Source
const (
	LabelID        = "objectset.rio.cattle.io/id"
	LabelGVK       = "objectset.rio.cattle.io/owner-gvk"
	LabelName      = "objectset.rio.cattle.io/owner-name"
	LabelNamespace = "objectset.rio.cattle.io/owner-namespace"
	LabelHash      = "objectset.rio.cattle.io/hash"
	LabelPrefix    = "objectset.rio.cattle.io/"
	LabelPrune     = "objectset.rio.cattle.io/prune"
)
View Source
const (
	LabelApplied = "objectset.rio.cattle.io/applied"
)

Variables

View Source
var (
	ErrOwnerNotFound   = errors.New("owner not found")
	ErrNoInformerFound = errors.New("informer not found")
)
View Source
var (
	ErrReplace      = errors.New("replace object with changes")
	ReplaceOnChange = func(name string, o runtime.Object, patchType types2.PatchType, data []byte, subresources ...string) (runtime.Object, error) {
		return nil, ErrReplace
	}
)

Functions

func GetLabelsAndAnnotations added in v0.6.0

func GetLabelsAndAnnotations(setID string, owner runtime.Object) (map[string]string, map[string]string, error)

func GetSelector added in v0.6.0

func GetSelector(labelSet map[string]string) (labels.Selector, error)

func GetSelectorFromOwner added in v0.8.5

func GetSelectorFromOwner(setID string, owner runtime.Object) (labels.Selector, error)

GetSelectorFromOwner returns the label selector for the owner object which is useful to list the dependents

Types

type Apply

type Apply interface {
	Apply(set *objectset.ObjectSet) error
	ApplyObjects(objs ...runtime.Object) error
	WithContext(ctx context.Context) Apply
	WithCacheTypes(igs ...InformerGetter) Apply
	WithCacheTypeFactory(factory InformerFactory) Apply
	WithSetID(id string) Apply
	WithOwner(obj runtime.Object) Apply
	WithOwnerKey(key string, gvk schema.GroupVersionKind) Apply
	WithInjector(injs ...injectors.ConfigInjector) Apply
	WithInjectorName(injs ...string) Apply
	WithPatcher(gvk schema.GroupVersionKind, patchers Patcher) Apply
	WithReconciler(gvk schema.GroupVersionKind, reconciler Reconciler) Apply
	WithStrictCaching() Apply
	WithDynamicLookup() Apply
	WithRestrictClusterScoped() Apply
	WithDefaultNamespace(ns string) Apply
	WithListerNamespace(ns string) Apply
	WithRateLimiting(ratelimitingQps float32) Apply
	WithNoDelete() Apply
	WithNoDeleteGVK(gvks ...schema.GroupVersionKind) Apply
	WithGVK(gvks ...schema.GroupVersionKind) Apply
	WithSetOwnerReference(controller, block bool) Apply
	WithIgnorePreviousApplied() Apply
	WithDiffPatch(gvk schema.GroupVersionKind, namespace, name string, patch []byte) Apply

	FindOwner(obj runtime.Object) (runtime.Object, error)
	PurgeOrphan(obj runtime.Object) error
	DryRun(objs ...runtime.Object) (Plan, error)
}

func New

func NewForConfig added in v0.1.6

func NewForConfig(cfg *rest.Config) (Apply, error)

type ClientFactory

func NewClientFactory

func NewClientFactory(config *rest.Config) ClientFactory

type InformerFactory added in v0.6.0

type InformerFactory interface {
	Get(gvk schema.GroupVersionKind, gvr schema.GroupVersionResource) (cache.SharedIndexInformer, error)
}

type InformerGetter

type InformerGetter interface {
	Informer() cache.SharedIndexInformer
	GroupVersionKind() schema.GroupVersionKind
}

type PatchByGVK added in v0.6.0

func (PatchByGVK) Add added in v0.6.0

func (p PatchByGVK) Add(gvk schema.GroupVersionKind, namespace, name, patch string)

type Patcher

type Patcher func(namespace, name string, pt types.PatchType, data []byte) (runtime.Object, error)

type Plan added in v0.6.0

type Plan struct {
	Create  objectset.ObjectKeyByGVK
	Delete  objectset.ObjectKeyByGVK
	Update  PatchByGVK
	Objects []runtime.Object
}

type Reconciler added in v0.3.0

type Reconciler func(oldObj runtime.Object, newObj runtime.Object) (bool, error)

Reconciler return false if it did not handle this object

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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