controller

package
v0.0.0-...-7b93b78 Latest Latest
Warning

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

Go to latest
Published: May 16, 2017 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetNodes

func GetNodes(ac *ALBController) util.AWSStringSlice

GetNodes returns a list of the cluster node external ids

Types

type ALBController

type ALBController struct {
	ALBIngresses ALBIngressesT

	IngressClass string
	// contains filtered or unexported fields
}

ALBController is our main controller

func NewALBController

func NewALBController(awsconfig *aws.Config, conf *config.Config) *ALBController

NewALBController returns an ALBController

func (*ALBController) BackendDefaults

func (ac *ALBController) BackendDefaults() defaults.Backend

BackendDefaults returns default configurations for the backend

func (*ALBController) Check

func (ac *ALBController) Check(_ *http.Request) error

Check tests the ingress controller configuration

func (*ALBController) DefaultIngressClass

func (ac *ALBController) DefaultIngressClass() string

DefaultIngressClass returns thed default ingress class

func (*ALBController) GetServiceNodePort

func (ac *ALBController) GetServiceNodePort(serviceKey string, backendPort int32) (*int64, error)

GetServiceNodePort returns the nodeport for a given Kubernetes service

func (*ALBController) Info

func (ac *ALBController) Info() *ingress.BackendInfo

Info returns information on the ingress contoller

func (*ALBController) Name

func (ac *ALBController) Name() string

Name returns the ingress controller name

func (*ALBController) OnUpdate

func (ac *ALBController) OnUpdate(ingressConfiguration ingress.Configuration) ([]byte, error)

OnUpdate is a callback invoked from the sync queue when ingress resources, or resources ingress resources touch, change. On each new event a new list of ALBIngresses are created and evaluated against the existing ALBIngress list known to the ALBController. Eventually the state of this list is synced resulting in new ingresses causing resource creation, modified ingresses having resources modified (when appropriate) and ingresses missing from the new list deleted from AWS.

func (*ALBController) OverrideFlags

func (ac *ALBController) OverrideFlags(flags *pflag.FlagSet)

OverrideFlags configures optional override flags for the ingress controller

func (*ALBController) Reload

func (ac *ALBController) Reload(data []byte) ([]byte, bool, error)

Reload executes the state synchronization for our ingresses

func (*ALBController) SetConfig

func (ac *ALBController) SetConfig(cfgMap *api.ConfigMap)

SetConfig configures a configmap for the ingress controller

func (*ALBController) SetListers

func (ac *ALBController) SetListers(lister ingress.StoreLister)

SetListers sets the configured store listers in the generic ingress controller

type ALBIngress

type ALBIngress struct {
	LoadBalancers alb.LoadBalancers
	// contains filtered or unexported fields
}

ALBIngress contains all information above the cluster, ingress resource, and AWS resources needed to assemble an ALB, TargetGroup, Listener, Rules, and Route53 Resource Records.

func NewALBIngress

func NewALBIngress(namespace, name, clustername string) *ALBIngress

NewALBIngress returns a minimal ALBIngress instance with a generated name that allows for lookup when new ALBIngress objects are created to determine if an instance of that ALBIngress already exists.

func NewALBIngressFromIngress

func NewALBIngressFromIngress(ingress *extensions.Ingress, ac *ALBController) (*ALBIngress, error)

NewALBIngressFromIngress builds ALBIngress's based off of an Ingress object https://godoc.org/k8s.io/kubernetes/pkg/apis/extensions#Ingress. Creates a new ingress object, and looks up to see if a previous ingress object with the same id is known to the ALBController. If there is an issue and the ingress is invalid, nil is returned.

func (*ALBIngress) Name

func (a *ALBIngress) Name() string

Name returns the name of the ingress

func (*ALBIngress) Reconcile

func (a *ALBIngress) Reconcile()

Reconcile begins the state sync for all AWS resource satisfying this ALBIngress instance.

func (*ALBIngress) StripDesiredState

func (a *ALBIngress) StripDesiredState()

StripDesiredState strips all desired objects from an ALBIngress

func (*ALBIngress) Tags

func (a *ALBIngress) Tags() []*elbv2.Tag

Tags returns an elbv2.Tag slice of standard tags for the ingress AWS resources

type ALBIngressesT

type ALBIngressesT []*ALBIngress

ALBIngressesT is a list of ALBIngress. It is held by the ALBController instance and evaluated against to determine what should be created, deleted, and modified.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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