options.proto

Package: gloo.solo.io

Types:

Source File: github.com/solo-io/gloo/projects/gloo/api/v1/options.proto

ListenerOptions

Optional, feature-specific configuration that lives on gateways. Each ListenerOption object contains configuration for a specific feature. Note to developers: new Listener plugins must be added to this struct to be usable by Gloo. (plugins currently need to be compiled into Gloo)

"accessLoggingService": .als.options.gloo.solo.io.AccessLoggingService
"extensions": .gloo.solo.io.Extensions
Field Type Description Default
accessLoggingService .als.options.gloo.solo.io.AccessLoggingService
extensions .gloo.solo.io.Extensions Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo’s API.

HttpListenerOptions

Optional, feature-specific configuration that lives on http listeners

"grpcWeb": .grpc_web.options.gloo.solo.io.GrpcWeb
"httpConnectionManagerSettings": .hcm.options.gloo.solo.io.HttpConnectionManagerSettings
"healthCheck": .healthcheck.options.gloo.solo.io.HealthCheck
"extensions": .gloo.solo.io.Extensions
"waf": .waf.options.gloo.solo.io.Settings
"dlp": .dlp.options.gloo.solo.io.FilterConfig
Field Type Description Default
grpcWeb .grpc_web.options.gloo.solo.io.GrpcWeb
httpConnectionManagerSettings .hcm.options.gloo.solo.io.HttpConnectionManagerSettings
healthCheck .healthcheck.options.gloo.solo.io.HealthCheck enable Envoy health checks on this listener.
extensions .gloo.solo.io.Extensions Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo’s API.
waf .waf.options.gloo.solo.io.Settings Enterprise-only: Config for Web Application Firewall (WAF), supporting the popular ModSecurity 3.0 ruleset.
dlp .dlp.options.gloo.solo.io.FilterConfig Enterprise-only: Config for data loss prevention.

TcpListenerOptions

Optional, feature-specific configuration that lives on tcp listeners

"tcpProxySettings": .tcp.options.gloo.solo.io.TcpProxySettings
Field Type Description Default
tcpProxySettings .tcp.options.gloo.solo.io.TcpProxySettings

VirtualHostOptions

Optional, feature-specific configuration that lives on virtual hosts. Each VirtualHostPlugin object contains configuration for a specific feature. Note to developers: new Virtual Host plugins must be added to this struct to be usable by Gloo. (plugins currently need to be compiled into Gloo)

"extensions": .gloo.solo.io.Extensions
"retries": .retries.options.gloo.solo.io.RetryPolicy
"stats": .stats.options.gloo.solo.io.Stats
"headerManipulation": .headers.options.gloo.solo.io.HeaderManipulation
"cors": .cors.options.gloo.solo.io.CorsPolicy
"transformations": .envoy.api.v2.filter.http.RouteTransformations
"ratelimitBasic": .ratelimit.options.gloo.solo.io.IngressRateLimit
"ratelimit": .ratelimit.options.gloo.solo.io.RateLimitVhostExtension
"waf": .waf.options.gloo.solo.io.Settings
"jwt": .jwt.options.gloo.solo.io.VhostExtension
"rbac": .rbac.options.gloo.solo.io.ExtensionSettings
"extauth": .enterprise.gloo.solo.io.ExtAuthExtension
"dlp": .dlp.options.gloo.solo.io.Config
Field Type Description Default
extensions .gloo.solo.io.Extensions Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo’s API.
retries .retries.options.gloo.solo.io.RetryPolicy
stats .stats.options.gloo.solo.io.Stats
headerManipulation .headers.options.gloo.solo.io.HeaderManipulation Append/Remove headers on Requests or Responses on all routes contained in this Virtual Host.
cors .cors.options.gloo.solo.io.CorsPolicy Defines a CORS policy for the virtual host If a CORS policy is also defined on the route matched by the request, the policies are merged.
transformations .envoy.api.v2.filter.http.RouteTransformations Transformations to apply.
ratelimitBasic .ratelimit.options.gloo.solo.io.IngressRateLimit Enterprise-only: Config for GlooE rate-limiting using simplified (gloo-specific) API.
ratelimit .ratelimit.options.gloo.solo.io.RateLimitVhostExtension Enterprise-only: Partial config for GlooE rate-limiting based on Envoy’s rate-limit service; supports Envoy’s rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration) Configure rate-limit actions here, which define how request characteristics get translated into descriptors used by the rate-limit service for rate-limiting. Configure rate-limit descriptors and their associated limits on the Gloo settings.
waf .waf.options.gloo.solo.io.Settings Enterprise-only: Config for Web Application Firewall (WAF), supporting the popular ModSecurity 3.0 ruleset.
jwt .jwt.options.gloo.solo.io.VhostExtension Enterprise-only: Config for reading and verifying JWTs. Copy verifiable information from JWTs into other headers to make routing decisions or combine with RBAC for fine-grained access control.
rbac .rbac.options.gloo.solo.io.ExtensionSettings Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims).
extauth .enterprise.gloo.solo.io.ExtAuthExtension Enterprise-only: Authentication configuration.
dlp .dlp.options.gloo.solo.io.Config Enterprise-only: Config for data loss prevention.

RouteOptions

Optional, feature-specific configuration that lives on routes. Each RouteOption object contains configuration for a specific feature. Note to developers: new Route plugins must be added to this struct to be usable by Gloo. (plugins currently need to be compiled into Gloo)

"transformations": .envoy.api.v2.filter.http.RouteTransformations
"faults": .fault.options.gloo.solo.io.RouteFaults
"prefixRewrite": .google.protobuf.StringValue
"timeout": .google.protobuf.Duration
"retries": .retries.options.gloo.solo.io.RetryPolicy
"extensions": .gloo.solo.io.Extensions
"tracing": .tracing.options.gloo.solo.io.RouteTracingSettings
"shadowing": .shadowing.options.gloo.solo.io.RouteShadowing
"headerManipulation": .headers.options.gloo.solo.io.HeaderManipulation
"hostRewrite": string
"autoHostRewrite": .google.protobuf.BoolValue
"cors": .cors.options.gloo.solo.io.CorsPolicy
"lbHash": .lbhash.options.gloo.solo.io.RouteActionHashConfig
"ratelimitBasic": .ratelimit.options.gloo.solo.io.IngressRateLimit
"ratelimit": .ratelimit.options.gloo.solo.io.RateLimitRouteExtension
"waf": .waf.options.gloo.solo.io.Settings
"jwt": .jwt.options.gloo.solo.io.RouteExtension
"rbac": .rbac.options.gloo.solo.io.ExtensionSettings
"extauth": .enterprise.gloo.solo.io.ExtAuthExtension
"dlp": .dlp.options.gloo.solo.io.Config
Field Type Description Default
transformations .envoy.api.v2.filter.http.RouteTransformations Transformations to apply.
faults .fault.options.gloo.solo.io.RouteFaults
prefixRewrite .google.protobuf.StringValue For requests matched on this route, rewrite the HTTP request path to the provided value before forwarding upstream.
timeout .google.protobuf.Duration
retries .retries.options.gloo.solo.io.RetryPolicy
extensions .gloo.solo.io.Extensions Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo’s API.
tracing .tracing.options.gloo.solo.io.RouteTracingSettings Defines route-specific tracing configuration. See here for additional information on Envoy’s tracing capabilities: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/tracing.html See here for additional information about configuring tracing with Gloo: https://gloo.solo.io/observability/tracing/.
shadowing .shadowing.options.gloo.solo.io.RouteShadowing Specifies traffic shadowing configuration for the route. See here for additional information on Envoy’s shadowing capabilities: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#envoy-api-msg-route-routeaction-requestmirrorpolicy.
headerManipulation .headers.options.gloo.solo.io.HeaderManipulation Append/Remove headers on Requests or Responses on this Route.
hostRewrite string Indicates that during forwarding, the host header will be swapped with this value. Only one of hostRewrite or autoHostRewrite can be set.
autoHostRewrite .google.protobuf.BoolValue Enable/Disable auto host re-write. Indicates that the host header will be swapped with the hostname of the upstream host. This setting is only honored for upstreams that use DNS resolution (i.e., their generated Envoy cluster is of type STRICT_DNS or LOGICAL_DNS – think aws, azure, or static upstreams with hostnames). Only one of autoHostRewrite or hostRewrite can be set.
cors .cors.options.gloo.solo.io.CorsPolicy Defines a CORS policy for the route If a CORS policy is also defined on the route’s virtual host, the policies are merged.
lbHash .lbhash.options.gloo.solo.io.RouteActionHashConfig For routes served by a hashing load balancer, this defines the input to the hash key Gloo configures Envoy with the first available RouteActionHashConfig among the following ordered list of providers: - route, upstream, virtual service.
ratelimitBasic .ratelimit.options.gloo.solo.io.IngressRateLimit Enterprise-only: Config for GlooE rate-limiting using simplified (gloo-specific) API.
ratelimit .ratelimit.options.gloo.solo.io.RateLimitRouteExtension Enterprise-only: Partial config for GlooE rate-limiting based on Envoy’s rate-limit service; supports Envoy’s rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration) Configure rate-limit actions here, which define how request characteristics get translated into descriptors used by the rate-limit service for rate-limiting. Configure rate-limit descriptors and their associated limits on the Gloo settings.
waf .waf.options.gloo.solo.io.Settings Enterprise-only: Config for Web Application Firewall (WAF), supporting the popular ModSecurity 3.0 ruleset.
jwt .jwt.options.gloo.solo.io.RouteExtension Enterprise-only: Config for reading and verifying JWTs. Copy verifiable information from JWTs into other headers to make routing decisions or combine with RBAC for fine-grained access control.
rbac .rbac.options.gloo.solo.io.ExtensionSettings Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims).
extauth .enterprise.gloo.solo.io.ExtAuthExtension Enterprise-only: Authentication configuration.
dlp .dlp.options.gloo.solo.io.Config Enterprise-only: Config for data loss prevention.

DestinationSpec

Configuration for Destinations that are tied to the UpstreamSpec or ServiceSpec on that destination

"aws": .aws.options.gloo.solo.io.DestinationSpec
"azure": .azure.options.gloo.solo.io.DestinationSpec
"rest": .rest.options.gloo.solo.io.DestinationSpec
"grpc": .grpc.options.gloo.solo.io.DestinationSpec
Field Type Description Default
aws .aws.options.gloo.solo.io.DestinationSpec Only one of aws, azure, or grpc can be set.
azure .azure.options.gloo.solo.io.DestinationSpec Only one of azure, aws, or grpc can be set.
rest .rest.options.gloo.solo.io.DestinationSpec Only one of rest, aws, or grpc can be set.
grpc .grpc.options.gloo.solo.io.DestinationSpec Only one of grpc, aws, or rest can be set.

WeightedDestinationOptions

Optional, feature-specific configuration that is applied when a specific weighted destination is selected for routing.

"headerManipulation": .headers.options.gloo.solo.io.HeaderManipulation
"transformations": .envoy.api.v2.filter.http.RouteTransformations
"extensions": .gloo.solo.io.Extensions
"extauth": .enterprise.gloo.solo.io.ExtAuthExtension
Field Type Description Default
headerManipulation .headers.options.gloo.solo.io.HeaderManipulation Append/Remove headers on Requests or Responses to/from this Weighted Destination.
transformations .envoy.api.v2.filter.http.RouteTransformations Transformations to apply.
extensions .gloo.solo.io.Extensions Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo’s API.
extauth .enterprise.gloo.solo.io.ExtAuthExtension Enterprise-only: Authentication configuration.