Gloo has a powerful routing engine that can handle simple use cases like API-to-API routing as well as more complex ones like HTTP to gRPC with body and header transformations. Gloo can also route natively to cloud-function providers like AWS Lambda, Google Cloud Functions and Azure Functions.
To understand Gloo routing, we should understand the high-level layout of the Gloo configuration. In general, you will be interacting with Virtual Services. These objects allow you to configure the details of the API you wish to expose on the Gateway as well as how the routing happens to any backends (Upstreams. To get traffic into the Gloo gateway, you need to control the listeners through the Gateway objects.
To configure the details of the routing engine, we define predicates that match on incoming requests (things like headers, path, method, etc) and then route them to Upstream destinations (like REST or gRPC services running in Kubernetes, EC2, Consul, etc or Cloud Functions like Lambda).
Take a look at getting started with the hello world guide and move to more advanced use cases by understanding the Virtual Service concept.
Hello World: Follow this guide for hands on, step-by-step tutorial for creating your first virtual service and routing rules in Kubernetes.
Config Reporting & Validation: (Kubernetes Only) Gloo can be configured to validate configuration before it is applied to the cluster. With validation enabled, any attempt to apply invalid configuration to the cluster will be rejected.
Configuring Downstream and Upstream TLS: Configure Gloo to serve and terminate TLS to downstream clients, as well as initiate upstream connections using upstream TLS.
Virtual Services: Virtual Services define a "virtual API" that gets exposed to clients along with a set of routing rules to backend upstream services / functions.
Gateway Configuration: Gloo allows you to configure properties of your listeners with the Gateway resource and accompanying plugins. These guides show you how to apply these advanced listener configurations to refine your gateways' behavior.
TCP Proxy: In this tutorial, we'll take a look at using gloo as a TCP proxy.