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
"extensions": .gloo.solo.io.Extensions
Field Type Description Default
accessLoggingService .als.plugins.gloo.solo.io.AccessLoggingService
extensions .gloo.solo.io.Extensions Deprecated: Opaque config for Gloo plugins.

HttpListenerPlugins

Plugin-specific configuration that lives on http listeners

"grpcWeb": .grpc_web.plugins.gloo.solo.io.GrpcWeb
"httpConnectionManagerSettings": .hcm.plugins.gloo.solo.io.HttpConnectionManagerSettings
"healthCheck": .healthcheck.plugins.gloo.solo.io.HealthCheck
"extensions": .gloo.solo.io.Extensions
"waf": .waf.plugins.gloo.solo.io.Settings
Field Type Description Default
grpcWeb .grpc_web.plugins.gloo.solo.io.GrpcWeb
httpConnectionManagerSettings .hcm.plugins.gloo.solo.io.HttpConnectionManagerSettings
healthCheck .healthcheck.plugins.gloo.solo.io.HealthCheck enable Envoy health checks on this listener.
extensions .gloo.solo.io.Extensions Deprecated: Opaque config for Gloo plugins.
waf .waf.plugins.gloo.solo.io.Settings Enterprise-only: Config for Web Application Firewall (WAF), supporting the popular ModSecurity 3.0 ruleset.

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
"transformations": .envoy.api.v2.filter.http.RouteTransformations
"ratelimitGloo": .ratelimit.plugins.gloo.solo.io.IngressRateLimit
"ratelimitActions": .ratelimit.plugins.gloo.solo.io.RateLimitVhostExtension
"waf": .waf.plugins.gloo.solo.io.VhostSettings
Field Type Description Default
extensions .gloo.solo.io.Extensions Deprecated: Opaque config for Gloo plugins.
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.
transformations .envoy.api.v2.filter.http.RouteTransformations Transformations to apply.
ratelimitGloo .ratelimit.plugins.gloo.solo.io.IngressRateLimit Enterprise-only: Config for GlooE rate-limiting using simplified (gloo-specific) API.
ratelimitActions .ratelimit.plugins.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.plugins.gloo.solo.io.VhostSettings Enterprise-only: Config for Web Application Firewall (WAF), supporting the popular ModSecurity 3.0 ruleset.

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
"lbHash": .lbhash.plugins.gloo.solo.io.RouteActionHashConfig
"ratelimitGloo": .ratelimit.plugins.gloo.solo.io.IngressRateLimit
"ratelimitActions": .ratelimit.plugins.gloo.solo.io.RateLimitRouteExtension
"waf": .waf.plugins.gloo.solo.io.RouteSettings
Field Type Description Default
transformations .envoy.api.v2.filter.http.RouteTransformations Transformations to apply.
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 Deprecated: Opaque config for Gloo plugins.
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.
lbHash .lbhash.plugins.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.
ratelimitGloo .ratelimit.plugins.gloo.solo.io.IngressRateLimit Enterprise-only: Config for GlooE rate-limiting using simplified (gloo-specific) API.
ratelimitActions .ratelimit.plugins.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.plugins.gloo.solo.io.RouteSettings Enterprise-only: Config for Web Application Firewall (WAF), supporting the popular ModSecurity 3.0 ruleset.

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 Only one of aws, azure, or grpc can be set.
azure .azure.plugins.gloo.solo.io.DestinationSpec Only one of azure, aws, or grpc can be set.
rest .rest.plugins.gloo.solo.io.DestinationSpec Only one of rest, aws, or grpc can be set.
grpc .grpc.plugins.gloo.solo.io.DestinationSpec Only one of grpc, aws, or rest can be set.

WeightedDestinationPlugins

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

"headerManipulation": .headers.plugins.gloo.solo.io.HeaderManipulation
"transformations": .envoy.api.v2.filter.http.RouteTransformations
"extensions": .gloo.solo.io.Extensions
Field Type Description Default
headerManipulation .headers.plugins.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 Deprecated: Opaque config for Gloo plugins.

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
"healthChecks": []envoy.api.v2.core.HealthCheck
"outlierDetection": .envoy.api.v2.cluster.OutlierDetection
"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
healthChecks []envoy.api.v2.core.HealthCheck
outlierDetection .envoy.api.v2.cluster.OutlierDetection
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 Only one of kube, static, pipe, aws, azure, or awsEc2 can be set.
static .static.plugins.gloo.solo.io.UpstreamSpec Only one of static, kube, pipe, aws, azure, or awsEc2 can be set.
pipe .pipe.plugins.gloo.solo.io.UpstreamSpec Only one of pipe, kube, static, aws, azure, or awsEc2 can be set.
aws .aws.plugins.gloo.solo.io.UpstreamSpec Only one of aws, kube, static, pipe, azure, or awsEc2 can be set.
azure .azure.plugins.gloo.solo.io.UpstreamSpec Only one of azure, kube, static, pipe, aws, or awsEc2 can be set.
consul .consul.plugins.gloo.solo.io.UpstreamSpec Only one of consul, kube, static, pipe, aws, or awsEc2 can be set.
awsEc2 .aws_ec2.plugins.gloo.solo.io.UpstreamSpec Only one of awsEc2, kube, static, pipe, aws, or consul can be set.