controller

package
v1.20.3 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2021 License: Apache-2.0 Imports: 39 Imported by: 2

Documentation

Index

Constants

View Source
const (

	// CreateEvent event associated with new objects in an informer
	CreateEvent EventType = "CREATE"
	// UpdateEvent event associated with an object update in an informer
	UpdateEvent EventType = "UPDATE"
	// DeleteEvent event associated when an object is removed from an informer
	DeleteEvent EventType = "DELETE"

	// IngressKey picks a specific "class" for the Ingress.
	// The controller only processes Ingresses with this annotation either
	// unset, or set to either the configured value or the empty string.
	IngressKey = "kubernetes.io/ingress.class"

	// IngressClass specifies which Ingress class we accept
	IngressClass = "openstack"

	// LabelNodeRoleMaster specifies that a node is a master
	// It's copied over to kubeadm until it's merged in core: https://github.com/kubernetes/kubernetes/pull/39112
	LabelNodeRoleMaster = "node-role.kubernetes.io/master"

	// IngressAnnotationInternal is the annotation used on the Ingress
	// to indicate that we want an internal loadbalancer service so that octavia-ingress-controller won't associate
	// floating ip to the load balancer VIP.
	// Default to true.
	IngressAnnotationInternal = "octavia.ingress.kubernetes.io/internal"

	// IngressControllerTag is added to the related resources.
	IngressControllerTag = "octavia.ingress.kubernetes.io"

	// IngressSecretCertName is certificate key name defined in the secret data.
	IngressSecretCertName = "tls.crt"
	// IngressSecretKeyName is private key name defined in the secret data.
	IngressSecretKeyName = "tls.key"

	// BarbicanSecretNameTemplate is the name format string to create Barbican secret.
	BarbicanSecretNameTemplate = "kube_ingress_%s_%s_%s_%s"
)

Variables

This section is empty.

Functions

func IsValid

func IsValid(ing *nwv1.Ingress) bool

IsValid returns true if the given Ingress either doesn't specify the ingress.class annotation, or it's set to the configured in the ingress controller.

Types

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

Controller ...

func NewController

func NewController(conf config.Config) *Controller

NewController creates a new OpenStack Ingress controller.

func (*Controller) Start

func (c *Controller) Start()

Start starts the openstack ingress controller.

type Event added in v1.14.0

type Event struct {
	Type EventType
	Obj  interface{}
}

Event holds the context of an event

type EventType added in v1.14.0

type EventType string

EventType type of event associated with an informer

type NodeConditionPredicate added in v1.18.0

type NodeConditionPredicate func(node *apiv1.Node) bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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