Documentation
¶
Index ¶
- Constants
- Variables
- type GenericProxy
- func (x *GenericProxy) ClearCodecConfig()
- func (x *GenericProxy) ClearGenericRds()
- func (x *GenericProxy) ClearRouteConfig()
- func (x *GenericProxy) ClearRouteSpecifier()
- func (x *GenericProxy) ClearTracing()
- func (x *GenericProxy) GetAccessLog() []*v32.AccessLog
- func (x *GenericProxy) GetCodecConfig() *v3.TypedExtensionConfig
- func (x *GenericProxy) GetFilters() []*v3.TypedExtensionConfig
- func (x *GenericProxy) GetGenericRds() *GenericRds
- func (x *GenericProxy) GetRouteConfig() *RouteConfiguration
- func (x *GenericProxy) GetRouteSpecifier() isGenericProxy_RouteSpecifier
- func (x *GenericProxy) GetStatPrefix() string
- func (x *GenericProxy) GetTracing() *v31.HttpConnectionManager_Tracing
- func (x *GenericProxy) HasCodecConfig() bool
- func (x *GenericProxy) HasGenericRds() bool
- func (x *GenericProxy) HasRouteConfig() bool
- func (x *GenericProxy) HasRouteSpecifier() bool
- func (x *GenericProxy) HasTracing() bool
- func (*GenericProxy) ProtoMessage()
- func (x *GenericProxy) ProtoReflect() protoreflect.Message
- func (x *GenericProxy) Reset()
- func (x *GenericProxy) SetAccessLog(v []*v32.AccessLog)
- func (x *GenericProxy) SetCodecConfig(v *v3.TypedExtensionConfig)
- func (x *GenericProxy) SetFilters(v []*v3.TypedExtensionConfig)
- func (x *GenericProxy) SetGenericRds(v *GenericRds)
- func (x *GenericProxy) SetRouteConfig(v *RouteConfiguration)
- func (x *GenericProxy) SetStatPrefix(v string)
- func (x *GenericProxy) SetTracing(v *v31.HttpConnectionManager_Tracing)
- func (x *GenericProxy) String() string
- func (x *GenericProxy) WhichRouteSpecifier() case_GenericProxy_RouteSpecifier
- type GenericProxy_GenericRds
- type GenericProxy_RouteConfig
- type GenericProxy_builder
- type GenericRds
- func (x *GenericRds) ClearConfigSource()
- func (x *GenericRds) GetConfigSource() *v3.ConfigSource
- func (x *GenericRds) GetRouteConfigName() string
- func (x *GenericRds) HasConfigSource() bool
- func (*GenericRds) ProtoMessage()
- func (x *GenericRds) ProtoReflect() protoreflect.Message
- func (x *GenericRds) Reset()
- func (x *GenericRds) SetConfigSource(v *v3.ConfigSource)
- func (x *GenericRds) SetRouteConfigName(v string)
- func (x *GenericRds) String() string
- type GenericRds_builder
- type RouteConfiguration
- func (x *RouteConfiguration) ClearRoutes()
- func (x *RouteConfiguration) GetName() string
- func (x *RouteConfiguration) GetRoutes() *v3.Matcher
- func (x *RouteConfiguration) GetVirtualHosts() []*VirtualHost
- func (x *RouteConfiguration) HasRoutes() bool
- func (*RouteConfiguration) ProtoMessage()
- func (x *RouteConfiguration) ProtoReflect() protoreflect.Message
- func (x *RouteConfiguration) Reset()
- func (x *RouteConfiguration) SetName(v string)
- func (x *RouteConfiguration) SetRoutes(v *v3.Matcher)
- func (x *RouteConfiguration) SetVirtualHosts(v []*VirtualHost)
- func (x *RouteConfiguration) String() string
- type RouteConfiguration_builder
- type VirtualHost
- func (x *VirtualHost) ClearRoutes()
- func (x *VirtualHost) GetHosts() []string
- func (x *VirtualHost) GetName() string
- func (x *VirtualHost) GetRoutes() *v3.Matcher
- func (x *VirtualHost) HasRoutes() bool
- func (*VirtualHost) ProtoMessage()
- func (x *VirtualHost) ProtoReflect() protoreflect.Message
- func (x *VirtualHost) Reset()
- func (x *VirtualHost) SetHosts(v []string)
- func (x *VirtualHost) SetName(v string)
- func (x *VirtualHost) SetRoutes(v *v3.Matcher)
- func (x *VirtualHost) String() string
- type VirtualHost_builder
Constants ¶
View Source
const GenericProxy_GenericRds_case case_GenericProxy_RouteSpecifier = 3
View Source
const GenericProxy_RouteConfig_case case_GenericProxy_RouteSpecifier = 4
View Source
const GenericProxy_RouteSpecifier_not_set_case case_GenericProxy_RouteSpecifier = 0
Variables ¶
View Source
var File_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto protoreflect.FileDescriptor
View Source
var File_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 valid to be assigned 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"`
// Configuration for :ref:`access logs <arch_overview_access_logs>` emitted by generic proxy.
AccessLog []*v32.AccessLog `protobuf:"bytes,7,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"`
// contains filtered or unexported fields
}
[#next-free-field: 8]
func (*GenericProxy) ClearCodecConfig ¶
func (x *GenericProxy) ClearCodecConfig()
func (*GenericProxy) ClearGenericRds ¶
func (x *GenericProxy) ClearGenericRds()
func (*GenericProxy) ClearRouteConfig ¶
func (x *GenericProxy) ClearRouteConfig()
func (*GenericProxy) ClearRouteSpecifier ¶
func (x *GenericProxy) ClearRouteSpecifier()
func (*GenericProxy) ClearTracing ¶
func (x *GenericProxy) ClearTracing()
func (*GenericProxy) GetAccessLog ¶
func (x *GenericProxy) GetAccessLog() []*v32.AccessLog
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 (x *GenericProxy) GetRouteSpecifier() isGenericProxy_RouteSpecifier
func (*GenericProxy) GetStatPrefix ¶
func (x *GenericProxy) GetStatPrefix() string
func (*GenericProxy) GetTracing ¶
func (x *GenericProxy) GetTracing() *v31.HttpConnectionManager_Tracing
func (*GenericProxy) HasCodecConfig ¶
func (x *GenericProxy) HasCodecConfig() bool
func (*GenericProxy) HasGenericRds ¶
func (x *GenericProxy) HasGenericRds() bool
func (*GenericProxy) HasRouteConfig ¶
func (x *GenericProxy) HasRouteConfig() bool
func (*GenericProxy) HasRouteSpecifier ¶
func (x *GenericProxy) HasRouteSpecifier() bool
func (*GenericProxy) HasTracing ¶
func (x *GenericProxy) HasTracing() bool
func (*GenericProxy) ProtoMessage ¶
func (*GenericProxy) ProtoMessage()
func (*GenericProxy) ProtoReflect ¶
func (x *GenericProxy) ProtoReflect() protoreflect.Message
func (*GenericProxy) Reset ¶
func (x *GenericProxy) Reset()
func (*GenericProxy) SetAccessLog ¶
func (x *GenericProxy) SetAccessLog(v []*v32.AccessLog)
func (*GenericProxy) SetCodecConfig ¶
func (x *GenericProxy) SetCodecConfig(v *v3.TypedExtensionConfig)
func (*GenericProxy) SetFilters ¶
func (x *GenericProxy) SetFilters(v []*v3.TypedExtensionConfig)
func (*GenericProxy) SetGenericRds ¶
func (x *GenericProxy) SetGenericRds(v *GenericRds)
func (*GenericProxy) SetRouteConfig ¶
func (x *GenericProxy) SetRouteConfig(v *RouteConfiguration)
func (*GenericProxy) SetStatPrefix ¶
func (x *GenericProxy) SetStatPrefix(v string)
func (*GenericProxy) SetTracing ¶
func (x *GenericProxy) SetTracing(v *v31.HttpConnectionManager_Tracing)
func (*GenericProxy) String ¶
func (x *GenericProxy) String() string
func (*GenericProxy) WhichRouteSpecifier ¶
func (x *GenericProxy) WhichRouteSpecifier() case_GenericProxy_RouteSpecifier
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 GenericProxy_builder ¶
type GenericProxy_builder struct {
// The human readable prefix to use when emitting statistics.
StatPrefix string
// The codec which encodes and decodes the application protocol.
// [#extension-category: envoy.generic_proxy.codecs]
CodecConfig *v3.TypedExtensionConfig
// Fields of oneof RouteSpecifier:
// The generic proxies route table will be dynamically loaded via the meta RDS API.
GenericRds *GenericRds
// The route table for the generic proxy is static and is specified in this property.
RouteConfig *RouteConfiguration
// -- end of RouteSpecifier
// 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
// Tracing configuration for the generic proxy.
Tracing *v31.HttpConnectionManager_Tracing
// Configuration for :ref:`access logs <arch_overview_access_logs>` emitted by generic proxy.
AccessLog []*v32.AccessLog
// contains filtered or unexported fields
}
func (GenericProxy_builder) Build ¶
func (b0 GenericProxy_builder) Build() *GenericProxy
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) ClearConfigSource ¶
func (x *GenericRds) ClearConfigSource()
func (*GenericRds) GetConfigSource ¶
func (x *GenericRds) GetConfigSource() *v3.ConfigSource
func (*GenericRds) GetRouteConfigName ¶
func (x *GenericRds) GetRouteConfigName() string
func (*GenericRds) HasConfigSource ¶
func (x *GenericRds) HasConfigSource() bool
func (*GenericRds) ProtoMessage ¶
func (*GenericRds) ProtoMessage()
func (*GenericRds) ProtoReflect ¶
func (x *GenericRds) ProtoReflect() protoreflect.Message
func (*GenericRds) Reset ¶
func (x *GenericRds) Reset()
func (*GenericRds) SetConfigSource ¶
func (x *GenericRds) SetConfigSource(v *v3.ConfigSource)
func (*GenericRds) SetRouteConfigName ¶
func (x *GenericRds) SetRouteConfigName(v string)
func (*GenericRds) String ¶
func (x *GenericRds) String() string
type GenericRds_builder ¶
type GenericRds_builder struct {
// Configuration source specifier for RDS.
ConfigSource *v3.ConfigSource
// 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
// contains filtered or unexported fields
}
func (GenericRds_builder) Build ¶
func (b0 GenericRds_builder) Build() *GenericRds
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) ClearRoutes ¶
func (x *RouteConfiguration) ClearRoutes()
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) HasRoutes ¶
func (x *RouteConfiguration) HasRoutes() bool
func (*RouteConfiguration) ProtoMessage ¶
func (*RouteConfiguration) ProtoMessage()
func (*RouteConfiguration) ProtoReflect ¶
func (x *RouteConfiguration) ProtoReflect() protoreflect.Message
func (*RouteConfiguration) Reset ¶
func (x *RouteConfiguration) Reset()
func (*RouteConfiguration) SetName ¶
func (x *RouteConfiguration) SetName(v string)
func (*RouteConfiguration) SetRoutes ¶
func (x *RouteConfiguration) SetRoutes(v *v3.Matcher)
func (*RouteConfiguration) SetVirtualHosts ¶
func (x *RouteConfiguration) SetVirtualHosts(v []*VirtualHost)
func (*RouteConfiguration) String ¶
func (x *RouteConfiguration) String() string
type RouteConfiguration_builder ¶
type RouteConfiguration_builder 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
// 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
// An array of virtual hosts that make up the route table.
VirtualHosts []*VirtualHost
// contains filtered or unexported fields
}
func (RouteConfiguration_builder) Build ¶
func (b0 RouteConfiguration_builder) Build() *RouteConfiguration
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) ClearRoutes ¶
func (x *VirtualHost) ClearRoutes()
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) HasRoutes ¶
func (x *VirtualHost) HasRoutes() bool
func (*VirtualHost) ProtoMessage ¶
func (*VirtualHost) ProtoMessage()
func (*VirtualHost) ProtoReflect ¶
func (x *VirtualHost) ProtoReflect() protoreflect.Message
func (*VirtualHost) Reset ¶
func (x *VirtualHost) Reset()
func (*VirtualHost) SetHosts ¶
func (x *VirtualHost) SetHosts(v []string)
func (*VirtualHost) SetName ¶
func (x *VirtualHost) SetName(v string)
func (*VirtualHost) SetRoutes ¶
func (x *VirtualHost) SetRoutes(v *v3.Matcher)
func (*VirtualHost) String ¶
func (x *VirtualHost) String() string
type VirtualHost_builder ¶
type VirtualHost_builder struct {
// The name of the virtual host.
Name string
// 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
// The match tree to use when resolving route actions for incoming requests.
Routes *v3.Matcher
// contains filtered or unexported fields
}
func (VirtualHost_builder) Build ¶
func (b0 VirtualHost_builder) Build() *VirtualHost
Source Files
¶
- generic_proxy.pb.go
- route.pb.go
Click to show internal directories.
Click to hide internal directories.