Documentation ¶
Index ¶
- Variables
- type GenericProxy
- func (*GenericProxy) Descriptor() ([]byte, []int)deprecated
- func (x *GenericProxy) GetCodecConfig() *v3.TypedExtensionConfig
- func (x *GenericProxy) GetFilters() []*v3.TypedExtensionConfig
- func (x *GenericProxy) GetGenericRds() *GenericRds
- func (x *GenericProxy) GetRouteConfig() *RouteConfiguration
- func (m *GenericProxy) GetRouteSpecifier() isGenericProxy_RouteSpecifier
- func (x *GenericProxy) GetStatPrefix() string
- func (x *GenericProxy) GetTracing() *v31.HttpConnectionManager_Tracing
- func (*GenericProxy) ProtoMessage()
- func (x *GenericProxy) ProtoReflect() protoreflect.Message
- func (x *GenericProxy) Reset()
- func (x *GenericProxy) String() string
- type GenericProxy_GenericRds
- type GenericProxy_RouteConfig
- type GenericRds
- func (*GenericRds) Descriptor() ([]byte, []int)deprecated
- func (x *GenericRds) GetConfigSource() *v3.ConfigSource
- func (x *GenericRds) GetRouteConfigName() string
- func (*GenericRds) ProtoMessage()
- func (x *GenericRds) ProtoReflect() protoreflect.Message
- func (x *GenericRds) Reset()
- func (x *GenericRds) String() string
- type RouteConfiguration
- func (*RouteConfiguration) Descriptor() ([]byte, []int)deprecated
- func (x *RouteConfiguration) GetName() string
- func (x *RouteConfiguration) GetRoutes() *v3.Matcher
- func (x *RouteConfiguration) GetVirtualHosts() []*VirtualHost
- func (*RouteConfiguration) ProtoMessage()
- func (x *RouteConfiguration) ProtoReflect() protoreflect.Message
- func (x *RouteConfiguration) Reset()
- func (x *RouteConfiguration) String() string
- type VirtualHost
- func (*VirtualHost) Descriptor() ([]byte, []int)deprecated
- func (x *VirtualHost) GetHosts() []string
- func (x *VirtualHost) GetName() string
- func (x *VirtualHost) GetRoutes() *v3.Matcher
- func (*VirtualHost) ProtoMessage()
- func (x *VirtualHost) ProtoReflect() protoreflect.Message
- func (x *VirtualHost) Reset()
- func (x *VirtualHost) String() string
Constants ¶
This section is empty.
Variables ¶
View Source
var File_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto protoreflect.FileDescriptor
View Source
var File_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type GenericProxy ¶
type GenericProxy struct { // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The codec which encodes and decodes the application protocol. // [#extension-category: envoy.generic_proxy.codecs] CodecConfig *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=codec_config,json=codecConfig,proto3" json:"codec_config,omitempty"` // Types that are assignable to RouteSpecifier: // // *GenericProxy_GenericRds // *GenericProxy_RouteConfig RouteSpecifier isGenericProxy_RouteSpecifier `protobuf_oneof:"route_specifier"` // A list of individual Layer-7 filters that make up the filter chain for requests made to the // proxy. Order matters as the filters are processed sequentially as request events // happen. // [#extension-category: envoy.generic_proxy.filters] Filters []*v3.TypedExtensionConfig `protobuf:"bytes,5,rep,name=filters,proto3" json:"filters,omitempty"` // Tracing configuration for the generic proxy. Tracing *v31.HttpConnectionManager_Tracing `protobuf:"bytes,6,opt,name=tracing,proto3" json:"tracing,omitempty"` // contains filtered or unexported fields }
[#next-free-field: 7]
func (*GenericProxy) Descriptor
deprecated
func (*GenericProxy) Descriptor() ([]byte, []int)
Deprecated: Use GenericProxy.ProtoReflect.Descriptor instead.
func (*GenericProxy) GetCodecConfig ¶
func (x *GenericProxy) GetCodecConfig() *v3.TypedExtensionConfig
func (*GenericProxy) GetFilters ¶
func (x *GenericProxy) GetFilters() []*v3.TypedExtensionConfig
func (*GenericProxy) GetGenericRds ¶
func (x *GenericProxy) GetGenericRds() *GenericRds
func (*GenericProxy) GetRouteConfig ¶
func (x *GenericProxy) GetRouteConfig() *RouteConfiguration
func (*GenericProxy) GetRouteSpecifier ¶
func (m *GenericProxy) GetRouteSpecifier() isGenericProxy_RouteSpecifier
func (*GenericProxy) GetStatPrefix ¶
func (x *GenericProxy) GetStatPrefix() string
func (*GenericProxy) GetTracing ¶
func (x *GenericProxy) GetTracing() *v31.HttpConnectionManager_Tracing
func (*GenericProxy) ProtoMessage ¶
func (*GenericProxy) ProtoMessage()
func (*GenericProxy) ProtoReflect ¶
func (x *GenericProxy) ProtoReflect() protoreflect.Message
func (*GenericProxy) Reset ¶
func (x *GenericProxy) Reset()
func (*GenericProxy) String ¶
func (x *GenericProxy) String() string
type GenericProxy_GenericRds ¶
type GenericProxy_GenericRds struct { // The generic proxies route table will be dynamically loaded via the meta RDS API. GenericRds *GenericRds `protobuf:"bytes,3,opt,name=generic_rds,json=genericRds,proto3,oneof"` }
type GenericProxy_RouteConfig ¶
type GenericProxy_RouteConfig struct { // The route table for the generic proxy is static and is specified in this property. RouteConfig *RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` }
type GenericRds ¶
type GenericRds struct { // Configuration source specifier for RDS. ConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` // The name of the route configuration. This name will be passed to the RDS API. This allows an // Envoy configuration with multiple generic proxies to use different route configurations. RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"` // contains filtered or unexported fields }
func (*GenericRds) Descriptor
deprecated
func (*GenericRds) Descriptor() ([]byte, []int)
Deprecated: Use GenericRds.ProtoReflect.Descriptor instead.
func (*GenericRds) GetConfigSource ¶
func (x *GenericRds) GetConfigSource() *v3.ConfigSource
func (*GenericRds) GetRouteConfigName ¶
func (x *GenericRds) GetRouteConfigName() string
func (*GenericRds) ProtoMessage ¶
func (*GenericRds) ProtoMessage()
func (*GenericRds) ProtoReflect ¶
func (x *GenericRds) ProtoReflect() protoreflect.Message
func (*GenericRds) Reset ¶
func (x *GenericRds) Reset()
func (*GenericRds) String ¶
func (x *GenericRds) String() string
type RouteConfiguration ¶
type RouteConfiguration struct { // The name of the route configuration. For example, it might match route_config_name in // envoy.extensions.filters.network.generic_proxy.v3.Rds. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The match tree to use when resolving route actions for incoming requests. // If no any virtual host is configured in the “virtual_hosts“ field or no special wildcard // virtual host is configured, the “routes“ field will be used as the default route table. // If both the wildcard virtual host and “routes“ are configured, the configuration will fail // to load. Routes *v3.Matcher `protobuf:"bytes,2,opt,name=routes,proto3" json:"routes,omitempty"` // An array of virtual hosts that make up the route table. VirtualHosts []*VirtualHost `protobuf:"bytes,3,rep,name=virtual_hosts,json=virtualHosts,proto3" json:"virtual_hosts,omitempty"` // contains filtered or unexported fields }
The generic proxy makes use of the `xds matching API` for routing configurations.
In the below example, we combine a top level tree matcher with a linear matcher to match the incoming requests, and send the matching requests to v1 of the upstream service.
.. code-block:: yaml
name: example routes: matcher_tree: input: name: request-service typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.ServiceMatchInput exact_match_map: map: service_name_0: matcher: matcher_list: matchers: - predicate: and_matcher: predicate: - single_predicate: input: name: request-properties typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput property_name: version value_match: exact: v1 - single_predicate: input: name: request-properties typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput property_name: user value_match: exact: john on_match: action: name: route typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.action.v3.routeAction cluster: cluster_0
func (*RouteConfiguration) Descriptor
deprecated
func (*RouteConfiguration) Descriptor() ([]byte, []int)
Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead.
func (*RouteConfiguration) GetName ¶
func (x *RouteConfiguration) GetName() string
func (*RouteConfiguration) GetRoutes ¶
func (x *RouteConfiguration) GetRoutes() *v3.Matcher
func (*RouteConfiguration) GetVirtualHosts ¶
func (x *RouteConfiguration) GetVirtualHosts() []*VirtualHost
func (*RouteConfiguration) ProtoMessage ¶
func (*RouteConfiguration) ProtoMessage()
func (*RouteConfiguration) ProtoReflect ¶
func (x *RouteConfiguration) ProtoReflect() protoreflect.Message
func (*RouteConfiguration) Reset ¶
func (x *RouteConfiguration) Reset()
func (*RouteConfiguration) String ¶
func (x *RouteConfiguration) String() string
type VirtualHost ¶
type VirtualHost struct { // The name of the virtual host. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A list of hosts that will be matched to this virtual host. Wildcard hosts are supported in // the suffix or prefix form. // // Host search order: // 1. Exact names: “www.foo.com“. // 2. Suffix wildcards: “*.foo.com“ or “*-bar.foo.com“. // 3. Prefix wildcards: “foo.*“ or “foo-*“. // 4. Special wildcard “*“ matching any host and will be the default virtual host. // // .. note:: // // The wildcard will not match the empty string. // e.g. “*-bar.foo.com“ will match “baz-bar.foo.com“ but not “-bar.foo.com“. // The longest wildcards match first. // Only a single virtual host in the entire route configuration can match on “*“. A domain // must be unique across all virtual hosts or the config will fail to load. Hosts []string `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // The match tree to use when resolving route actions for incoming requests. Routes *v3.Matcher `protobuf:"bytes,3,opt,name=routes,proto3" json:"routes,omitempty"` // contains filtered or unexported fields }
func (*VirtualHost) Descriptor
deprecated
func (*VirtualHost) Descriptor() ([]byte, []int)
Deprecated: Use VirtualHost.ProtoReflect.Descriptor instead.
func (*VirtualHost) GetHosts ¶
func (x *VirtualHost) GetHosts() []string
func (*VirtualHost) GetName ¶
func (x *VirtualHost) GetName() string
func (*VirtualHost) GetRoutes ¶
func (x *VirtualHost) GetRoutes() *v3.Matcher
func (*VirtualHost) ProtoMessage ¶
func (*VirtualHost) ProtoMessage()
func (*VirtualHost) ProtoReflect ¶
func (x *VirtualHost) ProtoReflect() protoreflect.Message
func (*VirtualHost) Reset ¶
func (x *VirtualHost) Reset()
func (*VirtualHost) String ¶
func (x *VirtualHost) String() string
Click to show internal directories.
Click to hide internal directories.