Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterExtensionConfigDiscoveryServiceServer(s grpc.ServiceRegistrar, srv ExtensionConfigDiscoveryServiceServer)
- type ExtensionConfigDiscoveryServiceClient
- type ExtensionConfigDiscoveryServiceServer
- type ExtensionConfigDiscoveryService_DeltaExtensionConfigsClient
- type ExtensionConfigDiscoveryService_DeltaExtensionConfigsServer
- type ExtensionConfigDiscoveryService_StreamExtensionConfigsClient
- type ExtensionConfigDiscoveryService_StreamExtensionConfigsServer
- type UnimplementedExtensionConfigDiscoveryServiceServer
- func (UnimplementedExtensionConfigDiscoveryServiceServer) DeltaExtensionConfigs(grpc.BidiStreamingServer[v3.DeltaDiscoveryRequest, v3.DeltaDiscoveryResponse]) error
- func (UnimplementedExtensionConfigDiscoveryServiceServer) FetchExtensionConfigs(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error)
- func (UnimplementedExtensionConfigDiscoveryServiceServer) StreamExtensionConfigs(grpc.BidiStreamingServer[v3.DiscoveryRequest, v3.DiscoveryResponse]) error
- type UnsafeExtensionConfigDiscoveryServiceServer
Constants ¶
const ( ExtensionConfigDiscoveryService_StreamExtensionConfigs_FullMethodName = "/envoy.service.extension.v3.ExtensionConfigDiscoveryService/StreamExtensionConfigs" ExtensionConfigDiscoveryService_DeltaExtensionConfigs_FullMethodName = "/envoy.service.extension.v3.ExtensionConfigDiscoveryService/DeltaExtensionConfigs" ExtensionConfigDiscoveryService_FetchExtensionConfigs_FullMethodName = "/envoy.service.extension.v3.ExtensionConfigDiscoveryService/FetchExtensionConfigs" )
Variables ¶
var ExtensionConfigDiscoveryService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.extension.v3.ExtensionConfigDiscoveryService", HandlerType: (*ExtensionConfigDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchExtensionConfigs", Handler: _ExtensionConfigDiscoveryService_FetchExtensionConfigs_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamExtensionConfigs", Handler: _ExtensionConfigDiscoveryService_StreamExtensionConfigs_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaExtensionConfigs", Handler: _ExtensionConfigDiscoveryService_DeltaExtensionConfigs_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/extension/v3/config_discovery.proto", }
ExtensionConfigDiscoveryService_ServiceDesc is the grpc.ServiceDesc for ExtensionConfigDiscoveryService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterExtensionConfigDiscoveryServiceServer ¶
func RegisterExtensionConfigDiscoveryServiceServer(s grpc.ServiceRegistrar, srv ExtensionConfigDiscoveryServiceServer)
Types ¶
type ExtensionConfigDiscoveryServiceClient ¶
type ExtensionConfigDiscoveryServiceClient interface {
StreamExtensionConfigs(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[v3.DiscoveryRequest, v3.DiscoveryResponse], error)
DeltaExtensionConfigs(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[v3.DeltaDiscoveryRequest, v3.DeltaDiscoveryResponse], error)
FetchExtensionConfigs(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error)
}
ExtensionConfigDiscoveryServiceClient is the client API for ExtensionConfigDiscoveryService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
A service that supports dynamic configuration updates for a specific filter. Currently, ECDS is supported for network filters, HTTP filters, UDP session filters, and listener filters. Please check :ref:`Extension Config Discovery Service (ECDS) API <config_overview_extension_discovery>`.
The overall extension config discovery service works as follows:
#. A filter (:ref:`Downstream Network <envoy_v3_api_field_config.listener.v3.Filter.config_discovery>`,
:ref:`Upstream Network <envoy_v3_api_field_config.cluster.v3.Filter.config_discovery>`, :ref:`Listener <envoy_v3_api_field_config.listener.v3.ListenerFilter.config_discovery>`, :ref:`UDP Session <envoy_v3_api_field_extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.SessionFilter.config_discovery>`, or :ref:`HTTP <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.config_discovery>`) contains a (:ref:`ExtensionConfigSource config discovery <envoy_v3_api_msg_config.core.v3.ExtensionConfigSource>`) configuration. This configuration includes a :ref:`config_source <envoy_v3_api_field_config.core.v3.ExtensionConfigSource.config_source>`, from which the filter configuration will be fetched.
#. The client then registers for a resource using the filter name as the “resource_name“. #. The xDS server sends back the filter's configuration. #. The client stores the configuration that will be used in the next instantiation of the filter chain,
i.e., for the next requests. Whenever an updated filter configuration arrives, it will be taken into account in the following instantiation of the filter chain.
.. note::
Filters that are configured using ECDS are warmed. For more details see :ref:`ExtensionConfigSource <envoy_v3_api_msg_config.core.v3.ExtensionConfigSource>`.
Return extension configurations.
func NewExtensionConfigDiscoveryServiceClient ¶
func NewExtensionConfigDiscoveryServiceClient(cc grpc.ClientConnInterface) ExtensionConfigDiscoveryServiceClient
type ExtensionConfigDiscoveryServiceServer ¶
type ExtensionConfigDiscoveryServiceServer interface {
StreamExtensionConfigs(grpc.BidiStreamingServer[v3.DiscoveryRequest, v3.DiscoveryResponse]) error
DeltaExtensionConfigs(grpc.BidiStreamingServer[v3.DeltaDiscoveryRequest, v3.DeltaDiscoveryResponse]) error
FetchExtensionConfigs(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error)
}
ExtensionConfigDiscoveryServiceServer is the server API for ExtensionConfigDiscoveryService service. All implementations should embed UnimplementedExtensionConfigDiscoveryServiceServer for forward compatibility.
A service that supports dynamic configuration updates for a specific filter. Currently, ECDS is supported for network filters, HTTP filters, UDP session filters, and listener filters. Please check :ref:`Extension Config Discovery Service (ECDS) API <config_overview_extension_discovery>`.
The overall extension config discovery service works as follows:
#. A filter (:ref:`Downstream Network <envoy_v3_api_field_config.listener.v3.Filter.config_discovery>`,
:ref:`Upstream Network <envoy_v3_api_field_config.cluster.v3.Filter.config_discovery>`, :ref:`Listener <envoy_v3_api_field_config.listener.v3.ListenerFilter.config_discovery>`, :ref:`UDP Session <envoy_v3_api_field_extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.SessionFilter.config_discovery>`, or :ref:`HTTP <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.config_discovery>`) contains a (:ref:`ExtensionConfigSource config discovery <envoy_v3_api_msg_config.core.v3.ExtensionConfigSource>`) configuration. This configuration includes a :ref:`config_source <envoy_v3_api_field_config.core.v3.ExtensionConfigSource.config_source>`, from which the filter configuration will be fetched.
#. The client then registers for a resource using the filter name as the “resource_name“. #. The xDS server sends back the filter's configuration. #. The client stores the configuration that will be used in the next instantiation of the filter chain,
i.e., for the next requests. Whenever an updated filter configuration arrives, it will be taken into account in the following instantiation of the filter chain.
.. note::
Filters that are configured using ECDS are warmed. For more details see :ref:`ExtensionConfigSource <envoy_v3_api_msg_config.core.v3.ExtensionConfigSource>`.
Return extension configurations.
type ExtensionConfigDiscoveryService_DeltaExtensionConfigsClient ¶
type ExtensionConfigDiscoveryService_DeltaExtensionConfigsClient = grpc.BidiStreamingClient[v3.DeltaDiscoveryRequest, v3.DeltaDiscoveryResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ExtensionConfigDiscoveryService_DeltaExtensionConfigsServer ¶
type ExtensionConfigDiscoveryService_DeltaExtensionConfigsServer = grpc.BidiStreamingServer[v3.DeltaDiscoveryRequest, v3.DeltaDiscoveryResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ExtensionConfigDiscoveryService_StreamExtensionConfigsClient ¶
type ExtensionConfigDiscoveryService_StreamExtensionConfigsClient = grpc.BidiStreamingClient[v3.DiscoveryRequest, v3.DiscoveryResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ExtensionConfigDiscoveryService_StreamExtensionConfigsServer ¶
type ExtensionConfigDiscoveryService_StreamExtensionConfigsServer = grpc.BidiStreamingServer[v3.DiscoveryRequest, v3.DiscoveryResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type UnimplementedExtensionConfigDiscoveryServiceServer ¶
type UnimplementedExtensionConfigDiscoveryServiceServer struct{}
UnimplementedExtensionConfigDiscoveryServiceServer should be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedExtensionConfigDiscoveryServiceServer) DeltaExtensionConfigs ¶
func (UnimplementedExtensionConfigDiscoveryServiceServer) DeltaExtensionConfigs(grpc.BidiStreamingServer[v3.DeltaDiscoveryRequest, v3.DeltaDiscoveryResponse]) error
func (UnimplementedExtensionConfigDiscoveryServiceServer) FetchExtensionConfigs ¶
func (UnimplementedExtensionConfigDiscoveryServiceServer) FetchExtensionConfigs(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error)
func (UnimplementedExtensionConfigDiscoveryServiceServer) StreamExtensionConfigs ¶
func (UnimplementedExtensionConfigDiscoveryServiceServer) StreamExtensionConfigs(grpc.BidiStreamingServer[v3.DiscoveryRequest, v3.DiscoveryResponse]) error
type UnsafeExtensionConfigDiscoveryServiceServer ¶
type UnsafeExtensionConfigDiscoveryServiceServer interface {
// contains filtered or unexported methods
}
UnsafeExtensionConfigDiscoveryServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ExtensionConfigDiscoveryServiceServer will result in compilation errors.
Source Files
¶
- config_discovery_grpc.pb.go