Help us shape the future of Go! Take the 2026 Go Developer Survey

controller

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2025 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