ciliumenvoyconfig

package
v1.18.0-pre.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2025 License: Apache-2.0 Imports: 66 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CECTableName = "ciliumenvoyconfigs"
)
View Source
const (
	EnvoyResourcesTableName = "envoy-resources"
)

Variables

View Source
var (
	CECByName = cecNameIndex.Query

	CECByServiceName = cecServiceIndex.Query
)
View Source
var Cell = cell.Module(
	"ciliumenvoyconfig",
	"CiliumEnvoyConfig",

	cell.Config(cecConfig{}),
	cell.Invoke(registerCECK8sReconciler),
	cell.ProvidePrivate(newCECManager),
	cell.ProvidePrivate(newCECResourceParser),
	cell.ProvidePrivate(newEnvoyServiceBackendSyncer),
	cell.ProvidePrivate(newPortAllocator),

	experimentalCell,
)

Cell provides support for the CRD CiliumEnvoyConfig that backs Ingress, Gateway API and L7 loadbalancing.

View Source
var (
	EnvoyResourceByName = envoyResourceNameIndex.Query
)

Functions

func NewCECTable added in v1.17.0

func NewCECTable(db *statedb.DB) (statedb.RWTable[*CEC], error)

func NewEnvoyResourcesTable

func NewEnvoyResourcesTable(db *statedb.DB) (statedb.RWTable[*EnvoyResource], error)

Types

type CEC added in v1.17.0

type CEC struct {
	Name k8sTypes.NamespacedName
	Spec *ciliumv2.CiliumEnvoyConfigSpec

	Selector         labels.Selector `json:"-" yaml:"-"`
	SelectsLocalNode bool
	Listeners        part.Map[string, uint16]

	// Resources is the parsed envoy.Resources with the endpoints filled in.
	Resources envoy.Resources
}

func (*CEC) Clone added in v1.17.0

func (cec *CEC) Clone() *CEC

func (*CEC) TableHeader added in v1.17.0

func (*CEC) TableHeader() []string

func (*CEC) TableRow added in v1.17.0

func (cec *CEC) TableRow() []string

type CECMetrics added in v1.16.6

type CECMetrics interface {
	AddCEC(cec *ciliumv2.CiliumEnvoyConfigSpec)
	DelCEC(cec *ciliumv2.CiliumEnvoyConfigSpec)
	AddCCEC(spec *ciliumv2.CiliumEnvoyConfigSpec)
	DelCCEC(spec *ciliumv2.CiliumEnvoyConfigSpec)
}

type CECName added in v1.17.0

type CECName = k8sTypes.NamespacedName

type EnvoyResource

type EnvoyResource struct {
	Name      CECName
	Resources envoy.Resources
	Redirects map[loadbalancer.ServiceName]*experimental.ProxyRedirect `json:"-"`

	ReconciledResources *envoy.Resources
	ReconciledRedirects map[loadbalancer.ServiceName]*experimental.ProxyRedirect `json:"-"`

	Status reconciler.Status
}

func (*EnvoyResource) Clone

func (r *EnvoyResource) Clone() *EnvoyResource

func (*EnvoyResource) GetStatus

func (r *EnvoyResource) GetStatus() reconciler.Status

func (*EnvoyResource) SetStatus

func (r *EnvoyResource) SetStatus(newStatus reconciler.Status) *EnvoyResource

func (*EnvoyResource) TableHeader

func (*EnvoyResource) TableHeader() []string

func (*EnvoyResource) TableRow

func (r *EnvoyResource) TableRow() []string

type PortAllocator

type PortAllocator interface {
	AllocateCRDProxyPort(name string) (uint16, error)
	AckProxyPort(ctx context.Context, name string) error
	ReleaseProxyPort(name string) error
}

Jump to

Keyboard shortcuts

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