Documentation
¶
Index ¶
- type Server
- func (s *Server) Check(context.Context, *grpc_health_v1.HealthCheckRequest) (*grpc_health_v1.HealthCheckResponse, error)
- func (s *Server) List(context.Context, *grpc_health_v1.HealthListRequest) (*grpc_health_v1.HealthListResponse, error)
- func (s *Server) PostClusterModify(_ context.Context, req *egextension.PostClusterModifyRequest) (*egextension.PostClusterModifyResponse, error)
- func (s *Server) PostRouteModify(_ context.Context, req *egextension.PostRouteModifyRequest) (*egextension.PostRouteModifyResponse, error)
- func (s *Server) PostTranslateModify(_ context.Context, req *egextension.PostTranslateModifyRequest) (*egextension.PostTranslateModifyResponse, error)
- func (s *Server) Watch(*grpc_health_v1.HealthCheckRequest, grpc_health_v1.Health_WatchServer) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
type Server struct {
egextension.UnimplementedEnvoyGatewayExtensionServer
// contains filtered or unexported fields
}
Server is the implementation of the EnvoyGatewayExtensionServer interface.
func New ¶
func New(k8sClient client.Client, logger logr.Logger, udsPath string, isStandAloneMode bool) *Server
New creates a new instance of the extension server that implements the EnvoyGatewayExtensionServer interface.
func (*Server) Check ¶
func (s *Server) Check(context.Context, *grpc_health_v1.HealthCheckRequest) (*grpc_health_v1.HealthCheckResponse, error)
Check implements grpc_health_v1.HealthServer.
func (*Server) List ¶ added in v0.2.0
func (s *Server) List(context.Context, *grpc_health_v1.HealthListRequest) (*grpc_health_v1.HealthListResponse, error)
List implements grpc_health_v1.HealthServer.
func (*Server) PostClusterModify ¶ added in v0.3.0
func (s *Server) PostClusterModify(_ context.Context, req *egextension.PostClusterModifyRequest) (*egextension.PostClusterModifyResponse, error)
PostClusterModify is called by Envoy Gateway to allow extensions to modify clusters after they are generated. This method specifically handles InferencePool backend references by configuring clusters with ORIGINAL_DST type and header-based load balancing for endpoint picker integration.
The method processes BackendExtensionResources to find InferencePool resources and configures the corresponding clusters to work with the Gateway API Inference Extension's endpoint picker pattern.
func (*Server) PostRouteModify ¶ added in v0.3.0
func (s *Server) PostRouteModify(_ context.Context, req *egextension.PostRouteModifyRequest) (*egextension.PostRouteModifyResponse, error)
PostRouteModify allows an extension to modify routes after they are generated.
func (*Server) PostTranslateModify ¶ added in v0.2.0
func (s *Server) PostTranslateModify(_ context.Context, req *egextension.PostTranslateModifyRequest) (*egextension.PostTranslateModifyResponse, error)
PostTranslateModify allows an extension to modify the clusters and secrets in the xDS config after the initial translation is complete. This method is responsible for:
1. Modifying existing clusters (e.g., adding metadata, adjusting configurations) 2. Adding additional clusters needed for InferencePool support (EPP clusters) 3. Ensuring the AI Gateway external processor UDS cluster exists
For InferencePool support, this method creates additional STRICT_DNS clusters that connect to the endpoint picker services specified in InferencePool resources.
func (*Server) Watch ¶
func (s *Server) Watch(*grpc_health_v1.HealthCheckRequest, grpc_health_v1.Health_WatchServer) error
Watch implements grpc_health_v1.HealthServer.