plugins.proto

Package: gloo.solo.io

Types:

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

ListenerPlugins

Plugin-specific configuration that lives on gateways Each ListenerPlugin object contains configuration for a specific plugin Note to developers: new Listener Plugins must be added to this struct to be usable by Gloo.

"accessLoggingService": .als.plugins.gloo.solo.io.AccessLoggingService
Field Type Description Default
accessLoggingService .als.plugins.gloo.solo.io.AccessLoggingService

HttpListenerPlugins

Plugin-specific configuration that lives on http listeners

"grpcWeb": .grpc_web.plugins.gloo.solo.io.GrpcWeb
"httpConnectionManagerSettings": .hcm.plugins.gloo.solo.io.HttpConnectionManagerSettings
Field Type Description Default
grpcWeb .grpc_web.plugins.gloo.solo.io.GrpcWeb
httpConnectionManagerSettings .hcm.plugins.gloo.solo.io.HttpConnectionManagerSettings

TcpListenerPlugins

Plugin-specific configuration that lives on tcp listeners

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

VirtualHostPlugins

Plugin-specific configuration that lives on virtual hosts Each VirtualHostPlugin object contains configuration for a specific plugin Note to developers: new Virtual Host Plugins must be added to this struct to be usable by Gloo.

"extensions": .gloo.solo.io.Extensions
"retries": .retries.plugins.gloo.solo.io.RetryPolicy
"stats": .stats.plugins.gloo.solo.io.Stats
"headerManipulation": .headers.plugins.gloo.solo.io.HeaderManipulation
"cors": .cors.plugins.gloo.solo.io.CorsPolicy
Field Type Description Default
extensions .gloo.solo.io.Extensions
retries .retries.plugins.gloo.solo.io.RetryPolicy
stats .stats.plugins.gloo.solo.io.Stats
headerManipulation .headers.plugins.gloo.solo.io.HeaderManipulation Append/Remove headers on Requests or Responses on all routes contained in this Virtual Host
cors .cors.plugins.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.

RoutePlugins

Plugin-specific configuration that lives on routes Each RoutePlugin object contains configuration for a specific plugin Note to developers: new Route Plugins must be added to this struct to be usable by Gloo.

"transformations": .envoy.api.v2.filter.http.RouteTransformations
"faults": .fault.plugins.gloo.solo.io.RouteFaults
"prefixRewrite": .transformation.plugins.gloo.solo.io.PrefixRewrite
"timeout": .google.protobuf.Duration
"retries": .retries.plugins.gloo.solo.io.RetryPolicy
"extensions": .gloo.solo.io.Extensions
"tracing": .tracing.plugins.gloo.solo.io.RouteTracingSettings
"shadowing": .shadowing.plugins.gloo.solo.io.RouteShadowing
"headerManipulation": .headers.plugins.gloo.solo.io.HeaderManipulation
"hostRewrite": .hostrewrite.plugins.gloo.solo.io.HostRewrite
"cors": .cors.plugins.gloo.solo.io.CorsPolicy
Field Type Description Default
transformations .envoy.api.v2.filter.http.RouteTransformations
faults .fault.plugins.gloo.solo.io.RouteFaults
prefixRewrite .transformation.plugins.gloo.solo.io.PrefixRewrite
timeout .google.protobuf.Duration
retries .retries.plugins.gloo.solo.io.RetryPolicy
extensions .gloo.solo.io.Extensions
tracing .tracing.plugins.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/user_guides/setup_options/observability/#tracing
shadowing .shadowing.plugins.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.plugins.gloo.solo.io.HeaderManipulation Append/Remove headers on Requests or Responses on this Route
hostRewrite .hostrewrite.plugins.gloo.solo.io.HostRewrite Rewrite the Host header for requests matched on this route
cors .cors.plugins.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.

DestinationSpec

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

"aws": .aws.plugins.gloo.solo.io.DestinationSpec
"azure": .azure.plugins.gloo.solo.io.DestinationSpec
"rest": .rest.plugins.gloo.solo.io.DestinationSpec
"grpc": .grpc.plugins.gloo.solo.io.DestinationSpec
Field Type Description Default
aws .aws.plugins.gloo.solo.io.DestinationSpec
azure .azure.plugins.gloo.solo.io.DestinationSpec
rest .rest.plugins.gloo.solo.io.DestinationSpec
grpc .grpc.plugins.gloo.solo.io.DestinationSpec

WeightedDestinationPlugins

Plugin-specific configuration that is applied when a specific weighted destination is selected for routing.

"headerManipulation": .headers.plugins.gloo.solo.io.HeaderManipulation
Field Type Description Default
headerManipulation .headers.plugins.gloo.solo.io.HeaderManipulation Append/Remove headers on Requests or Responses to/from this Weighted Destination

UpstreamSpec

Each upstream in Gloo has a type. Supported types include static, kubernetes, aws, consul, and more. Each upstream type is handled by a corresponding Gloo plugin.

"sslConfig": .gloo.solo.io.UpstreamSslConfig
"circuitBreakers": .gloo.solo.io.CircuitBreakerConfig
"loadBalancerConfig": .gloo.solo.io.LoadBalancerConfig
"connectionConfig": .gloo.solo.io.ConnectionConfig
"useHttp2": bool
"kube": .kubernetes.plugins.gloo.solo.io.UpstreamSpec
"static": .static.plugins.gloo.solo.io.UpstreamSpec
"pipe": .pipe.plugins.gloo.solo.io.UpstreamSpec
"aws": .aws.plugins.gloo.solo.io.UpstreamSpec
"azure": .azure.plugins.gloo.solo.io.UpstreamSpec
"consul": .consul.plugins.gloo.solo.io.UpstreamSpec
"awsEc2": .aws_ec2.plugins.gloo.solo.io.UpstreamSpec
Field Type Description Default
sslConfig .gloo.solo.io.UpstreamSslConfig
circuitBreakers .gloo.solo.io.CircuitBreakerConfig Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. if those are not set, envoy’s defaults will be used.
loadBalancerConfig .gloo.solo.io.LoadBalancerConfig
connectionConfig .gloo.solo.io.ConnectionConfig
useHttp2 bool Use http2 when communicating with this upstream this field is evaluated true for upstreams with a grpc service spec
kube .kubernetes.plugins.gloo.solo.io.UpstreamSpec
static .static.plugins.gloo.solo.io.UpstreamSpec
pipe .pipe.plugins.gloo.solo.io.UpstreamSpec
aws .aws.plugins.gloo.solo.io.UpstreamSpec
azure .azure.plugins.gloo.solo.io.UpstreamSpec
consul .consul.plugins.gloo.solo.io.UpstreamSpec
awsEc2 .aws_ec2.plugins.gloo.solo.io.UpstreamSpec