controller

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2017 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Ingress resource
	Ingress = iota
	// Endpoints resource
	Endpoints
	// ConfigMap resource
	ConfigMap
	// Secret resource
	Secret
)

Variables

This section is empty.

Functions

func FindPort added in v0.9.0

func FindPort(pod *api_v1.Pod, svcPort *api_v1.ServicePort) (int32, error)

FindPort locates the container port for the given pod and portName. If the targetPort is a number, use that. If the targetPort is a string, look that string up in all named ports in all containers in the target pod. If no match is found, fail.

func NewTaskQueue

func NewTaskQueue(syncFn func(Task)) *taskQueue

NewTaskQueue creates a new task queue with the given sync function. The sync function is called for every element inserted into the queue.

func ParseNamespaceName added in v1.0.0

func ParseNamespaceName(value string) (ns string, name string, err error)

ParseNamespaceName parses the string in the <namespace>/<name> format and returns the name and the namespace. It returns an error in case the string does not follow the <namespace>/<name> format.

Types

type Kind added in v1.0.0

type Kind int

Kind represnts the kind of the Kubernetes resources of a task

type LoadBalancerController

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

LoadBalancerController watches Kubernetes API and reconfigures NGINX via NginxController when needed

func NewLoadBalancerController

func NewLoadBalancerController(kubeClient kubernetes.Interface, resyncPeriod time.Duration, namespace string, cnf *nginx.Configurator, nginxConfigMaps string, defaultServerSecret string, nginxPlus bool) (*LoadBalancerController, error)

NewLoadBalancerController creates a controller

func (*LoadBalancerController) Run

func (lbc *LoadBalancerController) Run()

Run starts the loadbalancer controller

func (*LoadBalancerController) Stop added in v1.0.0

func (lbc *LoadBalancerController) Stop()

Stop shutdowns the load balancer controller

func (*LoadBalancerController) ValidateSecret added in v1.0.0

func (lbc *LoadBalancerController) ValidateSecret(secret *api_v1.Secret) error

ValidateSecret validates that the secret follows the TLS Secret format. For NGINX Plus, it also checks if the secret follows the JWK Secret format.

type StoreToConfigMapLister

type StoreToConfigMapLister struct {
	cache.Store
}

StoreToConfigMapLister makes a Store that lists ConfigMaps

func (*StoreToConfigMapLister) List

func (s *StoreToConfigMapLister) List() (cfgm api_v1.ConfigMapList, err error)

List lists all Ingress' in the store.

type StoreToEndpointLister added in v0.9.0

type StoreToEndpointLister struct {
	cache.Store
}

StoreToEndpointLister makes a Store that lists Endponts

func (*StoreToEndpointLister) GetServiceEndpoints added in v0.9.0

func (s *StoreToEndpointLister) GetServiceEndpoints(svc *api_v1.Service) (ep api_v1.Endpoints, err error)

GetServiceEndpoints returns the endpoints of a service, matched on service name.

type StoreToIngressLister

type StoreToIngressLister struct {
	cache.Store
}

StoreToIngressLister makes a Store that lists Ingress. TODO: Move this to cache/listers post 1.1.

func (*StoreToIngressLister) GetServiceIngress

func (s *StoreToIngressLister) GetServiceIngress(svc *api_v1.Service) (ings []extensions.Ingress, err error)

GetServiceIngress gets all the Ingress' that have rules pointing to a service. Note that this ignores services without the right nodePorts.

func (*StoreToIngressLister) List

func (s *StoreToIngressLister) List() (ing extensions.IngressList, err error)

List lists all Ingress' in the store.

type StoreToSecretLister added in v1.0.0

type StoreToSecretLister struct {
	cache.Store
}

StoreToSecretLister makes a Store that lists Secrets

type Task added in v1.0.0

type Task struct {
	Kind Kind
	Key  string
}

Task is an element of a taskQueue

func NewTask added in v1.0.0

func NewTask(key string, obj interface{}) (Task, error)

NewTask creates a new task

Jump to

Keyboard shortcuts

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