providers

package
v1.8.6 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NSXTLoadBalancer = "nsx-t-lb"

	ServiceLoadBalancerHealthCheckNodePortTagKey = "ncp/healthCheckNodePort"
	NSXTServiceProxy                             = "nsx-t"
	// LabelServiceProxyName indicates that an alternative service proxy will implement
	// this Service. Copied from kubernetes pkg/proxy/apis/well_known_labels.go to avoid
	// k8s dependency.
	LabelServiceProxyName = "service.kubernetes.io/service-proxy-name"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type LoadbalancerProvider

type LoadbalancerProvider interface {
	EnsureLoadBalancer(ctx context.Context, vmService *vmopv1.VirtualMachineService) error

	// GetServiceLabels returns the labels, if any, to place on a Service.
	// This is applicable when VirtualMachineService is translated to a
	// Service and we would like to apply the provider specific labels
	// on the corresponding Service.
	GetServiceLabels(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

	// GetToBeRemovedServiceLabels returns the labels, if any, to be
	// removed from a Service.
	// This is applicable when VirtualMachineService is translated to a
	// Service and we would like to remove the provider specific labels
	// from the corresponding Service
	// This is needed because other operators(net operator) might have added
	// labels to the Service so to correctly sync the addition/removal of
	// labels on the Service object without touching the existing ones,
	// we need to have clearly defined ownership
	GetToBeRemovedServiceLabels(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

	// GetServiceAnnotations returns the annotations, if any, to place on a Service.
	// This is applicable when VirtualMachineService is translated to a
	// Service and we would like to apply the provider specific annotations
	// on the corresponding Service.
	GetServiceAnnotations(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

	// GetToBeRemovedServiceAnnotations returns the annotations, if any, to be
	// removed from a Service.
	// This is applicable when VirtualMachineService is translated to a
	// Service and we would like to remove the provider specific annotations
	// from the corresponding Service
	// This is needed because other operators(net operator) might have added
	// annotations to the Service so to correctly sync the addition/removal of
	// annotations on the Service object without touching the existing ones,
	// we need to have clearly defined ownership
	GetToBeRemovedServiceAnnotations(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)
}

LoadbalancerProvider sets up Loadbalancer for different type of Loadbalancer.

func GetLoadbalancerProviderByType

func GetLoadbalancerProviderByType(mgr manager.Manager, providerType string) (LoadbalancerProvider, error)

type NoopLoadbalancerProvider

type NoopLoadbalancerProvider struct{}

func (NoopLoadbalancerProvider) EnsureLoadBalancer

func (NoopLoadbalancerProvider) GetServiceAnnotations

func (NoopLoadbalancerProvider) GetServiceAnnotations(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

func (NoopLoadbalancerProvider) GetServiceLabels

func (NoopLoadbalancerProvider) GetServiceLabels(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

func (NoopLoadbalancerProvider) GetToBeRemovedServiceAnnotations

func (NoopLoadbalancerProvider) GetToBeRemovedServiceAnnotations(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

func (NoopLoadbalancerProvider) GetToBeRemovedServiceLabels

func (NoopLoadbalancerProvider) GetToBeRemovedServiceLabels(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

type NsxtLoadbalancerProvider

type NsxtLoadbalancerProvider struct {
}

func NsxtLoadBalancerProvider

func NsxtLoadBalancerProvider() *NsxtLoadbalancerProvider

NsxtLoadBalancerProvider returns a nsxLoadbalancerProvider instance.

func (*NsxtLoadbalancerProvider) EnsureLoadBalancer

func (nl *NsxtLoadbalancerProvider) EnsureLoadBalancer(ctx context.Context, vmService *vmopv1.VirtualMachineService) error

func (*NsxtLoadbalancerProvider) GetServiceAnnotations

func (nl *NsxtLoadbalancerProvider) GetServiceAnnotations(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

GetServiceAnnotations provides the intended NSX-T specific annotations on Service. The responsibility is left to the caller to actually set them.

func (*NsxtLoadbalancerProvider) GetServiceLabels

func (nl *NsxtLoadbalancerProvider) GetServiceLabels(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

GetServiceLabels provides the intended NSX-T specific labels on Service. The responsibility is left to the caller to actually set them.

func (*NsxtLoadbalancerProvider) GetToBeRemovedServiceAnnotations

func (nl *NsxtLoadbalancerProvider) GetToBeRemovedServiceAnnotations(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

GetToBeRemovedServiceAnnotations provides the to be removed NSX-T specific annotations on Service. The responsibility is left to the caller to actually clear them.

func (*NsxtLoadbalancerProvider) GetToBeRemovedServiceLabels

func (nl *NsxtLoadbalancerProvider) GetToBeRemovedServiceLabels(ctx context.Context, vmService *vmopv1.VirtualMachineService) (map[string]string, error)

GetToBeRemovedServiceLabels provides the to be removed NSX-T specific labels on Service. The responsibility is left to the caller to actually clear them.

Jump to

Keyboard shortcuts

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