controllers

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2026 License: AGPL-3.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EdgeFunctionRevisionReconciler

type EdgeFunctionRevisionReconciler struct {
	client.Client
	// contains filtered or unexported fields
}

EdgeFunctionRevisionReconciler reconciles an EdgeFunctionRevision object representing an edge function executable.

func NewEdgeFunctionRevisionReconciler

func NewEdgeFunctionRevisionReconciler(args EdgeFunctionRevisionReconcilerArgs) *EdgeFunctionRevisionReconciler

NewEdgeFunctionRevisionReconciler returns a new reconcile.Reconciler.

func (*EdgeFunctionRevisionReconciler) Reconcile

Reconcile implements reconcile.Reconciler.

func (*EdgeFunctionRevisionReconciler) SetupWithManager

func (r *EdgeFunctionRevisionReconciler) SetupWithManager(
	ctx context.Context,
	mgr ctrl.Manager,
	proxyName string,
) error

SetupWithManager sets up the controller with the Controller Manager.

type EdgeFunctionRevisionReconcilerArgs

type EdgeFunctionRevisionReconcilerArgs struct {
	Client        client.Client
	ReplicaName   string
	ApiserverHost string
	WasmStore     manifest.Store
	GoStoreDir    string
	JsStoreDir    string

	// EdgeRuntime is the legacy per-function runtime.
	// Either EdgeRuntime or EdgeController must be set.
	EdgeRuntime edgefunc.Runtime

	// EdgeController is the new per-namespace controller.
	// When set, it takes precedence over EdgeRuntime for JS functions.
	EdgeController   *edgefuncctrl.EdgeController
	DefaultNamespace edgefuncctrl.Namespace
}

EdgeFunctionRevisionReconcilerArgs contains the arguments for creating an EdgeFunctionRevisionReconciler.

type GatewayReconciler

type GatewayReconciler struct {
	client.Client
	// contains filtered or unexported fields
}

GatewayReconciler reconciles Gateway objects and validates their listeners against the associated Proxy's Envoy configuration.

func NewGatewayReconciler

func NewGatewayReconciler(client client.Client, proxyName string, hc *healthchecker.AggregatedHealthChecker) *GatewayReconciler

NewGatewayReconciler creates a new GatewayReconciler.

func (*GatewayReconciler) Reconcile

func (r *GatewayReconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error)

Reconcile implements the reconcile.Reconciler interface.

func (*GatewayReconciler) SetupWithManager

func (r *GatewayReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Manager.

type Option

type Option func(*options)

Option is a functional option for ProxyReconciler.

func WithAPIServerTLSClientConfig

func WithAPIServerTLSClientConfig(tlsConfig *tls.Config) Option

WithAPIServerTLSClientConfig sets the TLS client configuration for the API server. If not set, the client will use an insecure connection.

func WithClickHouseConn

func WithClickHouseConn(chConn clickhouse.Conn) Option

WithClickHouseConn sets the ClickHouse connection for the ProxyReconciler. If not set, log shipping will be disabled.

func WithClickHouseOptions

func WithClickHouseOptions(opts *clickhouse.Options) Option

WithClickHouseOptions sets the ClickHouse options for the ProxyReconciler.

func WithEnvoyContrib

func WithEnvoyContrib() Option

WithEnvoyContrib enables the use of Envoy contrib filters.

func WithGoPluginDir

func WithGoPluginDir(dir string) Option

WithGoPluginDir sets the directory for Go plugins.

func WithOverloadMaxActiveConnections

func WithOverloadMaxActiveConnections(count uint64) Option

WithOverloadMaxActiveConnections sets the maximum number of active downstream connections for the Envoy overload manager.

func WithOverloadMaxHeapSizeBytes

func WithOverloadMaxHeapSizeBytes(size uint64) Option

WithOverloadMaxHeapSizeBytes sets the maximum heap size in bytes for the Envoy overload manager.

func WithURLRelease

func WithURLRelease(url string) Option

WithURLRelease enables the use of URL release. (Default is GitHub release).

type ProxyReconciler

type ProxyReconciler struct {
	client.Client
	envoy.Runtime
	// contains filtered or unexported fields
}

ProxyReconciler reconciles a Proxy object.

func NewProxyReconciler

func NewProxyReconciler(
	c client.Client,
	proxyName string,
	replicaName string,
	privateAddr netip.Addr,
	apiServerHost string,
	opts ...Option,
) *ProxyReconciler

NewProxyReconciler returns a new reconcile.Reconciler implementation for the Proxy resource.

func (*ProxyReconciler) DownloadEnvoy

func (r *ProxyReconciler) DownloadEnvoy(ctx context.Context) error

func (*ProxyReconciler) Reconcile

func (r *ProxyReconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error)

func (*ProxyReconciler) SetupWithManager

func (r *ProxyReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error

type TunnelNodeReconciler

type TunnelNodeReconciler struct {
	client.Client
	// contains filtered or unexported fields
}

TunnelNodeReconciler reconciles TunnelNode objects and manages L3 Geneve tunnels.

func NewTunnelNodeReconciler

func NewTunnelNodeReconciler(
	c client.Client,
	proxyName, proxyReplicaName string,
	localPrivAddr netip.Addr,
) *TunnelNodeReconciler

NewTunnelNodeReconciler returns a new TunnelNode reconciler for Geneve tunnels.

func (*TunnelNodeReconciler) Reconcile

func (r *TunnelNodeReconciler) Reconcile(ctx context.Context, request reconcile.Request) (ctrl.Result, error)

Reconcile implements reconcile.Reconciler.

func (*TunnelNodeReconciler) SetupWithManager

func (r *TunnelNodeReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error

SetupWithManager sets up the controller with the Controller Manager.

Jump to

Keyboard shortcuts

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