Documentation ¶
Index ¶
- func GetNodes(ac *ALBController) util.AWSStringSlice
- type ALBController
- func (ac *ALBController) BackendDefaults() defaults.Backend
- func (ac *ALBController) Check(_ *http.Request) error
- func (ac *ALBController) DefaultIngressClass() string
- func (ac *ALBController) GetServiceNodePort(serviceKey string, backendPort int32) (*int64, error)
- func (ac *ALBController) Info() *ingress.BackendInfo
- func (ac *ALBController) Name() string
- func (ac *ALBController) OnUpdate(ingressConfiguration ingress.Configuration) ([]byte, error)
- func (ac *ALBController) OverrideFlags(flags *pflag.FlagSet)
- func (ac *ALBController) Reload(data []byte) ([]byte, bool, error)
- func (ac *ALBController) SetConfig(cfgMap *api.ConfigMap)
- func (ac *ALBController) SetListers(lister ingress.StoreLister)
- type ALBIngress
- type ALBIngressesT
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
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) StripDesiredState ¶
func (a *ALBIngress) StripDesiredState()
StripDesiredState strips all desired objects from an ALBIngress
func (*ALBIngress) SyncState ¶
func (a *ALBIngress) SyncState()
SyncState begins the state sync for all AWS resource satisfying this ALBIngress instance.
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.