Documentation
¶
Index ¶
Constants ¶
View Source
const (
ProvidedBy = "instance.hetzner.cloud/provided-by"
)
Variables ¶
This section is empty.
Functions ¶
func RunLoadBalancerTests ¶
func RunLoadBalancerTests(t *testing.T, tests []LoadBalancerTestCase)
Types ¶
type LoadBalancerOps ¶
type LoadBalancerOps interface { GetByName(ctx context.Context, name string) (*hcloud.LoadBalancer, error) GetByID(ctx context.Context, id int64) (*hcloud.LoadBalancer, error) GetByK8SServiceUID(ctx context.Context, svc *corev1.Service) (*hcloud.LoadBalancer, error) Create(ctx context.Context, lbName string, service *corev1.Service) (*hcloud.LoadBalancer, error) Delete(ctx context.Context, lb *hcloud.LoadBalancer) error ReconcileHCLB(ctx context.Context, lb *hcloud.LoadBalancer, svc *corev1.Service) (bool, error) ReconcileHCLBTargets(ctx context.Context, lb *hcloud.LoadBalancer, svc *corev1.Service, nodes []*corev1.Node) (bool, error) ReconcileHCLBServices(ctx context.Context, lb *hcloud.LoadBalancer, svc *corev1.Service) (bool, error) }
LoadBalancerOps defines the Load Balancer related operations required by the hcloud-cloud-controller-manager.
type LoadBalancerTestCase ¶
type LoadBalancerTestCase struct { Name string // Defined in test case as needed ClusterName string NetworkID int ServiceUID string ServiceAnnotations map[annotation.Name]interface{} DisablePrivateIngressDefault bool DisableIPv6Default bool Nodes []*corev1.Node LB *hcloud.LoadBalancer LBCreateResult *hcloud.LoadBalancerCreateResult Mock func(t *testing.T, tt *LoadBalancerTestCase) // Defines the actual test Perform func(t *testing.T, tt *LoadBalancerTestCase) Ctx context.Context // Set to context.Background by run if not defined in test // Set by run LBOps *hcops.MockLoadBalancerOps LBClient *mocks.LoadBalancerClient LoadBalancers *loadBalancers Service *corev1.Service }
Click to show internal directories.
Click to hide internal directories.