Skip to content

Supported policies in Gloo Mesh (Gloo Platform APIs)

Page as Markdown

Find an overview of supported policies in Gloo Mesh (Gloo Platform APIs) and why you want to use them.

Gloo Mesh (Gloo Platform APIs) supports a variety of policies to ensure network resiliency, traffic control, security, and observability for the microservices in your service mesh. Flip through the cards to learn about what policies are supported, why you want to use them, and what Gloo resource the policy can be applied to. To see an example policy setup, simply follow the links.

NameTypeDescriptionApplied toSolo distribution of Istio required?
Adaptive request concurrencyClient-sideDynamically adjust the maximum number of concurrent requests that can be sent to a destination.DestinationYes
FailoverClient-sideUse a failover policy to determine where to reroute traffic in case of failure. For example, you can set up a failover policy to route traffic from one availability zone or region to another if that zone or region becomes unavailable.DestinationNo
Fault injectionClient-sideTest the resilience of your apps by injecting delays and connection failures. With fault injections, you intentionally introduce errors, such as a failure of an upstream dependency to see how your app behaves and if it can recover from such an event.RouteNo
Outlier detectionClient-sideConfigure Gloo to remove unhealthy destinations from the connection pool, and add the destinations back when they become healthy again. An outlier can be any upstream app instance that is performing differently than other instances that back the Kubernetes service, Gloo virtual destination, or external service. For example, if an app instance responds with a 5xx HTTP error code most of the time, it is excluded from the Gloo load balancing.DestinationNo
RetryClient-sideUse retry settings to specify the maximum number of times a service mesh proxy can attempt to call a service in the mesh after the initial call failed.RouteNo
TimeoutClient-sideWith timeouts, you can specify how long the service mesh proxy waits for a service or host to respond before it is considered unavailable.RouteNo
TCP connectionClient-sideSet up connection pool settings for a TCP destination, such as TCP keepalive.DestinationNo
Trim proxy configClient-sideTrim the number of destinations in the Istio sidecar proxy configuration for your workloads to avoid memory pressure issues.WorkloadNo
NameTypeDescriptionApplied toSolo distribution of Istio required?
Header manipulationClient-sideAppend or remove HTTP request and response headers at the route level.RouteNo
Load balancer and consistent hashClient-sideSpecify how you want Istio to select an upstream service to serve an incoming client request.DestinationNo
MirroringClient-sideDuplicate outgoing traffic, to test a new app. Mirroring, also referred to as shadowing, can be very useful if you want to send live traffic to a different version of your app to verify the app’s behavior or set up canary testing.RouteNo
Rate limitingClient-sideControl the rate of requests to destinations within the service mesh. With rate limits, you can specify how many requests you want to allow to be passed to a particular service in a certain timeframe. For example, you might want to limit your service to receive only one request per second.Route or destinationYes
TransformationClient-sideAlter a request before matching and routing, such as with an Inja header template. For example, you might want to add or remove certain headers from the request or response that is routed in your service mesh.RouteYes
NameTypeDescriptionApplied toSolo distribution of Istio required?
Access policiesServer-sideControl access for workloads in your service mesh.Workload or destinationNo
CORSClient-sideEnforce client-site access controls with cross-origin resource sharing (CORS). CORS is a browser mechanism that allows a client web app to access resources that are located outside of a specific domain.RouteNo
JWTClient-sideControl access or route traffic based on verified claims in a JSON web token (JWT). Note: Applying a JWT policy to ingress routes requires a Gloo Mesh Gateway license.Route or destinationYes
External authentication and authorizationClient-sideSet up an external authentication and authorization to protect the workloads in your cluster. For example, you can set up basic, passthrough, API key, OAuth, OPA, or LDAP authentication.Route or destinationYes
NameTypeDescription
Certificate Authority optionsClient-sideCreate a policy for custom CA certificates.
VaultClient-sideCreate a policy for Vault-managed certificates.

You can use the following policies to control traffic through the ingress gateway in north-south scenarios.

NameTypeDescriptionApplied toSolo distribution of Istio required?
Active healthcheckClient-sideUse the ingress gateway to periodically check the health of an upstream service in your cluster.DestinationNo
Client TLSClient-sideEnable TLS origination for your ingress gateway so that you can encrypt requests before they are forwarded to HTTPS services in your cluster.DestinationNo
CSRFClient-sideApply a CSRF filter to the gateway to help prevent cross-site request forgery attacks. A cross-site request forgery attack is a web security vulnerability where the attacker induces an authenticated user to perform an unwanted action on a trusted site.RouteNo
DLPClient-sideEnsure that sensitive data isn’t logged or leaked with Data Loss Prevention (DLP).RouteYes
HTTP buffer filterClient-sideSet the maximum request body size that you want to accept for a particular workload in your cluster.RouteNo
JWTClient-sideControl access or route traffic based on verified claims in a JSON web token (JWT). Note: You only need a Gloo Mesh Gateway license to apply JWT policies to ingress routes. For internal mesh traffic, you can apply JWTs to destinations or east-west routes with only a Gloo Mesh (Gloo Platform APIs) license.RouteYes
Listener connectionClient-sideConfigure connection settings between downstream services and a gateway listener.ListenerNo
Proxy protocolClient-sidePreserve connection information such as the client IP address for traffic that goes through your gateway listener.ListenerNo
WAFClient-sideFilter, monitor, and block potentially harmful HTTP traffic with a Web Application Firewall (WAF) policy.RouteYes