generic_proxyv3

package
v1.33.0-20240426201503... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

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"`
	// 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) Descriptor deprecated

func (*GenericProxy) Descriptor() ([]byte, []int)

Deprecated: Use GenericProxy.ProtoReflect.Descriptor instead.

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 (m *GenericProxy) GetRouteSpecifier() isGenericProxy_RouteSpecifier

func (*GenericProxy) GetStatPrefix

func (x *GenericProxy) GetStatPrefix() string

func (*GenericProxy) GetTracing

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL