Documentation ¶
Overview ¶
Package elb provides an updater for an ELB frontend to attach nginx to.
Index ¶
- Constants
- func FindFrontEndElbs(awsElb ELB, frontendTagValue string) (map[string]LoadBalancerDetails, error)
- func FindFrontEndElbsWithIngressClassName(awsElb ELB, frontendTagValue string, ingressClassValue string) (map[string]LoadBalancerDetails, error)
- func New(region string, frontendTagValue string, ingressClassTagValue string, ...) (controller.Updater, error)
- type EC2Metadata
- type ELB
- type LoadBalancerDetails
Constants ¶
const ElbTag = "sky.uk/KubernetesClusterFrontend"
ElbTag is the tag key used for identifying ELBs to attach to for a cluster.
const IngressClassTag = "sky.uk/KubernetesClusterIngressClass"
IngressClassTag is the tag key used for identifying ELBs to attach to for a given ingress controller.
Variables ¶
This section is empty.
Functions ¶
func FindFrontEndElbs ¶
func FindFrontEndElbs(awsElb ELB, frontendTagValue string) (map[string]LoadBalancerDetails, error)
FindFrontEndElbs supports finding ELBs without ingress class for backwards compatibility with feed-dns, which does not support multiple ingress controllers
func FindFrontEndElbsWithIngressClassName ¶
func FindFrontEndElbsWithIngressClassName(awsElb ELB, frontendTagValue string, ingressClassValue string) (map[string]LoadBalancerDetails, error)
FindFrontEndElbsWithIngressClassName finds all ELBs tagged with frontendTagValue and ingressClassValue
Types ¶
type EC2Metadata ¶
type EC2Metadata interface { Available() bool Region() (string, error) GetInstanceIdentityDocument() (ec2metadata.EC2InstanceIdentityDocument, error) }
EC2Metadata interface to allow mocking of the real calls to AWS
type ELB ¶
type ELB interface { DescribeLoadBalancers(input *aws_elb.DescribeLoadBalancersInput) (*aws_elb.DescribeLoadBalancersOutput, error) DescribeTags(input *aws_elb.DescribeTagsInput) (*aws_elb.DescribeTagsOutput, error) RegisterInstancesWithLoadBalancer(input *aws_elb.RegisterInstancesWithLoadBalancerInput) (*aws_elb.RegisterInstancesWithLoadBalancerOutput, error) DeregisterInstancesFromLoadBalancer(input *aws_elb.DeregisterInstancesFromLoadBalancerInput) (*aws_elb.DeregisterInstancesFromLoadBalancerOutput, error) }
ELB interface to allow mocking of real calls to AWS as well as cutting down the methods from the real interface to only the ones we use