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

multipool

package
v1.18.16 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrAllocatorNotReady = errAllocatorNotReady{}

Functions

This section is empty.

Types

type Allocator

type Allocator struct {
	// contains filtered or unexported fields
}

Allocator implements allocator.AllocatorProvider

func (*Allocator) DeletePool

func (a *Allocator) DeletePool(ctx context.Context, pool *cilium_v2alpha1.CiliumPodIPPool) error

func (*Allocator) Init

func (a *Allocator) Init(ctx context.Context, logger *slog.Logger) error

func (*Allocator) Start

func (*Allocator) UpsertPool

func (a *Allocator) UpsertPool(ctx context.Context, pool *cilium_v2alpha1.CiliumPodIPPool) error

type NodeHandler

type NodeHandler struct {
	// contains filtered or unexported fields
}

func NewNodeHandler

func NewNodeHandler(logger *slog.Logger, manager *PoolAllocator, nodeUpdater ipam.CiliumNodeGetterUpdater) *NodeHandler

func (*NodeHandler) Delete

func (n *NodeHandler) Delete(resource *v2.CiliumNode)

func (*NodeHandler) Resync

func (n *NodeHandler) Resync(context.Context, time.Time)

func (*NodeHandler) Upsert

func (n *NodeHandler) Upsert(resource *v2.CiliumNode)

type PoolAllocator

type PoolAllocator struct {
	// contains filtered or unexported fields
}

func NewPoolAllocator

func NewPoolAllocator(logger *slog.Logger) *PoolAllocator

func (*PoolAllocator) AllocateToNode

func (p *PoolAllocator) AllocateToNode(cn *v2.CiliumNode) error

func (*PoolAllocator) AllocatedPools

func (p *PoolAllocator) AllocatedPools(targetNode string) (pools []types.IPAMPoolAllocation)

func (*PoolAllocator) DeletePool

func (p *PoolAllocator) DeletePool(poolName string) error

DeletePool deletes a pool from p. No new allocations to nodes will be made from the pool and all internal bookkeeping is removed. However, nodes will still retain their in-flight CIDRs until next time the respective CiliumNode is updated.

func (*PoolAllocator) ReleaseNode

func (p *PoolAllocator) ReleaseNode(nodeName string) error

func (*PoolAllocator) RestoreFinished

func (p *PoolAllocator) RestoreFinished()

func (*PoolAllocator) UpsertPool

func (p *PoolAllocator) UpsertPool(poolName string, ipv4CIDRs []string, ipv4MaskSize int, ipv6CIDRs []string, ipv6MaskSize int) error

Jump to

Keyboard shortcuts

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