v1

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2024 License: Apache-2.0 Imports: 21 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FromIngressHandlerToHandler

func FromIngressHandlerToHandler(sync IngressHandler) generic.Handler

func RegisterIngressGeneratingHandler

func RegisterIngressGeneratingHandler(ctx context.Context, controller IngressController, apply apply.Apply,
	condition condition.Cond, name string, handler IngressGeneratingHandler, opts *generic.GeneratingHandlerOptions)

RegisterIngressGeneratingHandler configures a IngressController to execute a IngressGeneratingHandler for every events observed, passing the returned objects to the provided apply.Apply. If a non-empty condition is provided, it will be updated in the status conditions for every handler execution

func RegisterIngressStatusHandler

func RegisterIngressStatusHandler(ctx context.Context, controller IngressController, condition condition.Cond, name string, handler IngressStatusHandler)

RegisterIngressStatusHandler configures a IngressController to execute a IngressStatusHandler for every events observed. If a non-empty condition is provided, it will be updated in the status conditions for every handler execution

func UpdateIngressDeepCopyOnChange

func UpdateIngressDeepCopyOnChange(client IngressClient, obj *v1.Ingress, handler func(obj *v1.Ingress) (*v1.Ingress, error)) (*v1.Ingress, error)

Types

type IngressCache

type IngressCache interface {
	Get(namespace, name string) (*v1.Ingress, error)
	List(namespace string, selector labels.Selector) ([]*v1.Ingress, error)

	AddIndexer(indexName string, indexer IngressIndexer)
	GetByIndex(indexName, key string) ([]*v1.Ingress, error)
}

type IngressClient

type IngressClient interface {
	Create(*v1.Ingress) (*v1.Ingress, error)
	Update(*v1.Ingress) (*v1.Ingress, error)
	UpdateStatus(*v1.Ingress) (*v1.Ingress, error)
	Delete(namespace, name string, options *metav1.DeleteOptions) error
	Get(namespace, name string, options metav1.GetOptions) (*v1.Ingress, error)
	List(namespace string, opts metav1.ListOptions) (*v1.IngressList, error)
	Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
	Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Ingress, err error)
}

type IngressController

type IngressController interface {
	generic.ControllerMeta
	IngressClient

	OnChange(ctx context.Context, name string, sync IngressHandler)
	OnRemove(ctx context.Context, name string, sync IngressHandler)
	Enqueue(namespace, name string)
	EnqueueAfter(namespace, name string, duration time.Duration)

	Cache() IngressCache
}

func NewIngressController

func NewIngressController(gvk schema.GroupVersionKind, resource string, namespaced bool, controller controller.SharedControllerFactory) IngressController

type IngressGeneratingHandler

type IngressGeneratingHandler func(obj *v1.Ingress, status v1.IngressStatus) ([]runtime.Object, v1.IngressStatus, error)

IngressGeneratingHandler is the top-level handler that is executed for every Ingress event. It extends IngressStatusHandler by a returning a slice of child objects to be passed to apply.Apply

type IngressHandler

type IngressHandler func(string, *v1.Ingress) (*v1.Ingress, error)

type IngressIndexer

type IngressIndexer func(obj *v1.Ingress) ([]string, error)

type IngressStatusHandler

type IngressStatusHandler func(obj *v1.Ingress, status v1.IngressStatus) (v1.IngressStatus, error)

IngressStatusHandler is executed for every added or modified Ingress. Should return the new status to be updated

type Interface

type Interface interface {
	Ingress() IngressController
}

func New

func New(controllerFactory controller.SharedControllerFactory) Interface

Jump to

Keyboard shortcuts

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