alb

package
v2.0.4 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2026 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Overview

Package alb implements the Application Load Balancer Backend

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(name string, o *bo.Options, router http.Handler,
	_ cache.Cache, _ backends.Backends, factories rt.Lookup,
) (backends.Backend, error)

NewClient returns a new ALB client reference

func StartALBPools

func StartALBPools(clients backends.Backends, hcs healthcheck.StatusLookup) error

StartALBPools ensures that ALB's are fully loaded, which can't be done until all backends are processed, so the ALB's destination backend names can be mapped to their respective clients

func StopPools

func StopPools(clients backends.Backends) error

StopPools ensures that ALBs are fully stopped when the process's configuration is reloaded

func ValidateClients

func ValidateClients(clients backends.Backends) error

ValidateClients iterates the backends and validates ALB backends

Types

type Client

type Client struct {
	backends.Backend
	// contains filtered or unexported fields
}

Client Implements the Backend Interface

func (*Client) DefaultPathConfigs

func (c *Client) DefaultPathConfigs(_ *bo.Options) po.List

DefaultPathConfigs returns the default PathConfigs for the given Provider

func (*Client) Handlers

func (c *Client) Handlers() handlers.Lookup

Handlers returns a map of the HTTP Handlers the client has registered. "localresponse" is exposed so operators can use the standard `paths:` override to short-circuit non-mergeable endpoints (e.g. /api/v1/query_exemplars, /api/v1/metadata) before they enter the ALB mechanism. Without this entry the routing layer silently drops the path config because client.Handlers() has no matching handler for the requested name.

func (*Client) StopPool

func (c *Client) StopPool()

StopPool stops this Client's pool. No-op for handlers that don't own a pool (e.g. user_router).

func (*Client) Validate

func (c *Client) Validate(backends sets.Set[string]) error

ValidatePool confirms the provided list of backends is valid

func (*Client) ValidateAndStartPool

func (c *Client) ValidateAndStartPool(clients backends.Backends, hcs healthcheck.StatusLookup) error

ValidateAndStartPool starts this Client's pool up using the provided list of backends to validate and map out the pool configuration

func (*Client) ValidatePool

func (c *Client) ValidatePool(backends sets.Set[string]) error

ValidatePool confirms the provided list of backends is valid

Directories

Path Synopsis
Package mech provides the ALB Mechanisms functionality
Package mech provides the ALB Mechanisms functionality
fanout
Package fanout is the shared primitive for ALB mechanisms that scatter a single inbound request to N pool members and gather their responses.
Package fanout is the shared primitive for ALB mechanisms that scatter a single inbound request to N pool members and gather their responses.
fr
nlm
rr
tsm
ur
Package pool provides an application load balancer pool
Package pool provides an application load balancer pool

Jump to

Keyboard shortcuts

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