Gloo Mesh 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 Mesh resource the policy can be applied to. To see an example policy setup, simply follow the links.
Use 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.
Test 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.
Configure 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 Mesh 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 Mesh load balancing.
Duplicate 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.
Control 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.
Enforce 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.
Configure how access logs are recorded for your services. Note that if you export the destination of the workload that this policy selects, this policy from the source workspace still applies. Additionally, the logs remain in the source workspace.
Apply 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.
Improve network performance by caching GraphQL queries. The query string and the query's SHA-256 hash that are cached on the GraphQL server side, so that clients can send the query hash instead of the larger query string.
Alter 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.