Documentation
¶
Index ¶
- type EdgeFunctionRevisionReconciler
- type EdgeFunctionRevisionReconcilerArgs
- type GatewayReconciler
- type Option
- func WithAPIServerTLSClientConfig(tlsConfig *tls.Config) Option
- func WithClickHouseConn(chConn clickhouse.Conn) Option
- func WithClickHouseOptions(opts *clickhouse.Options) Option
- func WithEnvoyContrib() Option
- func WithEnvoyVersion(version string) Option
- func WithGoPluginDir(dir string) Option
- func WithOtelMetricSink(host string, port uint32) Option
- func WithOverloadMaxActiveConnections(count uint64) Option
- func WithOverloadMaxHeapSizeBytes(size uint64) Option
- func WithProjectID(id string) Option
- func WithURLRelease(url string) Option
- type ProxyReconciler
- type TunnelNodeReconciler
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 ¶
func (r *EdgeFunctionRevisionReconciler) Reconcile(ctx context.Context, request reconcile.Request) (ctrl.Result, error)
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 ¶
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 ¶
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 WithEnvoyVersion ¶ added in v0.23.0
WithEnvoyVersion pins the Envoy release tag, for example "v1.35.13", that is downloaded from GitHub. An empty version selects the latest upstream release, which must not be used in production. The Proxy spec and WithURLRelease take precedence over this version.
func WithGoPluginDir ¶
WithGoPluginDir sets the directory for Go plugins.
func WithOtelMetricSink ¶ added in v0.23.1
WithOtelMetricSink sends both the Envoy stats and the runtime metrics to the OpenTelemetry collector at host:port.
func WithOverloadMaxActiveConnections ¶
WithOverloadMaxActiveConnections sets the maximum number of active downstream connections for the Envoy overload manager.
func WithOverloadMaxHeapSizeBytes ¶
WithOverloadMaxHeapSizeBytes sets the maximum heap size in bytes for the Envoy overload manager.
func WithProjectID ¶ added in v0.23.1
WithProjectID names the Apoxy project. The backplane labels its metrics with the project outside of a self-hosted install.
func WithURLRelease ¶
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) SetupWithManager ¶
type TunnelNodeReconciler ¶
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 ¶
SetupWithManager sets up the controller with the Controller Manager.