controller

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContainsMember

func ContainsMember(arr []lbv1.PoolMember, m lbv1.PoolMember) bool

func ListProviders

func ListProviders() []string

func RegisterProvider

func RegisterProvider(name string, provider Provider) error

Types

type BackendController

type BackendController struct {
	Provider Provider
	// contains filtered or unexported fields
}

ExternalLoadBalancerReconciler reconciles a ExternalLoadBalancer object

func CreateBackend

func CreateBackend(ctx context.Context, lbBackend *lbv1.Provider, username string, password string) (*BackendController, error)

func (*BackendController) HandleCleanup

func (b *BackendController) HandleCleanup(ctx context.Context, lb *lbv1.ExternalLoadBalancer) error

HandleCleanup removes all elements when ExternalLoadBalancer is deleted

func (*BackendController) HandleMonitors

func (b *BackendController) HandleMonitors(ctx context.Context, monitor *lbv1.Monitor) error

HandleMonitors manages the Monitor validation, update and creation

func (*BackendController) HandlePool

func (b *BackendController) HandlePool(ctx context.Context, pool *lbv1.Pool, monitor *lbv1.Monitor) error

HandlePool manages the Pool validation, update and creation

func (*BackendController) HandleVIP

func (b *BackendController) HandleVIP(ctx context.Context, v *lbv1.VIP) error

HandleVIP manages the VIP validation, update and creation

type Provider

type Provider interface {
	// Create a new backend provider
	Create(context.Context, lbv1.Provider, string, string) error
	// Connect initializes a connection to the backend provider
	Connect() error
	// Close closes the connection to the backend provider
	Close() error

	// GetMonitor returns a monitor if it exists
	GetMonitor(*lbv1.Monitor) (*lbv1.Monitor, error)
	// CreateMonitor creates a new monitor
	CreateMonitor(*lbv1.Monitor) error
	// EditMonitor updates a monitor
	EditMonitor(*lbv1.Monitor) error
	// DeleteMonitor deletes a monitor
	DeleteMonitor(*lbv1.Monitor) error

	//	GetPool returns a pool if it exists
	GetPool(*lbv1.Pool) (*lbv1.Pool, error)
	// CreatePool creates a new pool
	CreatePool(*lbv1.Pool) error
	// EditPool updates a pool
	EditPool(*lbv1.Pool) error
	// DeletePool deletes a pool
	DeletePool(*lbv1.Pool) error
	// GetPoolMembers returns a pool members if it exists
	GetPoolMembers(*lbv1.Pool) (*lbv1.Pool, error)
	// CreatePoolMember returns a pool if it exists
	CreatePoolMember(*lbv1.PoolMember, *lbv1.Pool) error
	// EditPoolMember updates a pool member
	EditPoolMember(*lbv1.PoolMember, *lbv1.Pool, string) error
	// DeletePoolMember deletes a pool member
	DeletePoolMember(*lbv1.PoolMember, *lbv1.Pool) error

	// GetVIP returns a virtual server if it exists
	GetVIP(*lbv1.VIP) (*lbv1.VIP, error)
	// CreateVIP creates a new virtual server
	CreateVIP(*lbv1.VIP) error
	// EditVIP updates a virtual server
	EditVIP(*lbv1.VIP) error
	// DeleteVIP deletes a virtual server
	DeleteVIP(*lbv1.VIP) error
}

Provider interface method signatures

Jump to

Keyboard shortcuts

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