The Function Gateway
Gloo is an ingress controller and function gateway built on the Envoy Proxy, written in Go.
Gloo expands upon the model of traditional API Gateways as (currently) the only gateway to support routing on the function level. This allows users to compose gateway APIs from more granular components, i.e. the functions that compose services, rather than the services themselves.
This repository contains the core controller of the Gloo system. The core includes the Envoy xDS server and the translator that manages and calls Gloo plugins.
For an in-depth breakdown of of Gloo and its features, please see our documentation.
Getting Started
Getting started with Gloo on Kubernetes is as easy as running
kubectl apply \
-f https://raw.githubusercontent.com/solo-io/gloo-install/master/kube/install.yaml
which will create the gloo-system
namespace and deploy Envoy, Gloo, and Gloo's discovery services. To create your first
routes with Gloo, see the getting started page in our documentation.
Documentation
Repository Guide
Repo | What it does? |
---|---|
gloo | The gloo control plane. Implements the ADS API for envoy |
gloo-install | Install manifests and Helm chart. |
thetool | Easily build gloo+envoy with plugins enabled or disabled. |
glooctl | Command line client for gloo, for easy config manipulation. |
gloo-api | Proto API definitions (upstreams, virtualhosts, routes...). |
gloo-function-discovery | Auto discovery for functions in upstreams (i.e. lambda functions, swagger functions). |
gloo-storage | Abstracts configuration storage and change watch. kube and file are currently supported. |
gloo-testing | e2e testing with minikube. |
gloo-plugins | Plugins that can be enabled and built into gloo using thetool . |
gloo-k8s-service-discovery | Auto register kubernetes services as gloo upstreams. |
gloo-ingress-controller | Kube ingress controller that generates gloo upstreams. |
envoy-common | Common libraries that enabled functional envoy filters. |
envoy-lambda | AWS lambda support for envoy. |
envoy-transformation | Request and response transformation for envoy. |
envoy-google-function | Google Cloud Functions support for envoy. |
Community
Join us on our slack channel: https://slack.solo.io/
Thanks
Gloo would not be possible without the valuable open-source work of projects in the community. We would like to extend a special thank-you to envoy.