gloo

command module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2019 License: Apache-2.0 Imports: 7 Imported by: 0

README

Gloo
An Envoy-Powered API Gateway

Gloo is a feature-rich, Kubernetes-native ingress controller, and next-generation API gateway. Gloo is exceptional in its function-level routing; its support for legacy apps, microservices and serverless; its discovery capabilities; its numerous features; and its tight integration with leading open-source projects. Gloo is uniquely designed to support hybrid applications, in which multiple technologies, architectures, protocols, and clouds can coexist.

Installation   |   Documentation   |   Blog   |   Slack   |   Twitter   Enterprise Trial


Gloo Architecture

Summary

Using Gloo

  • Kubernetes ingress controller: Gloo can function as a feature-rich ingress controller, built on top of the Envoy Proxy.
  • Next-generation API gateway : Gloo provides a long list of API gateway features, including rate limiting, circuit breaking, retries, caching, external authentication and authorization, transformation, service-mesh integration, and security.
  • Hybrid apps: Gloo creates applications that route to backends implemented as microservices, serverless functions, and legacy apps. This feature can help users to gradually migrate from their legacy code to microservices and serverless; can let users add new functionalities using cloud-native technologies while maintaining their legacy codebase; can be used in cases where different teams in an organization choose different architectures; and more. See here for more on the Hybrid App paradigm.

What makes Gloo unique

  • Function-level routing allows integration of legacy applications, microservices and serverless: Gloo can route requests directly to functions, which can be a serverless function call (e.g. Lambda, Google Cloud Function, OpenFaaS function, etc.), an API call on a microservice or a legacy service (e.g. a REST API call, OpenAPI operation, XML/SOAP request etc.), or publishing to a message queue (e.g. NATS, AMQP, etc.). This unique ability is what makes Gloo the only API gateway that supports hybrid apps, as well as the only one that does not tie the user to a specific paradigm.
  • Gloo incorporates vetted open-source projects to provide broad functionality: Gloo support high-quality features by integrating with top open-source projects, including gRPC, GraphQL, OpenTracing, NATS and more. Gloo's architecture allows rapid integration of future popular open-source projects as they emerge.
  • Full automated discovery lets users move fast: Upon launch, Gloo creates a catalog of all available destinations, and continuously maintains it up to date. This takes the responsibility for 'bookkeeping' away from the developers, and guarantees that new feature become available as soon as they are ready. Gloo discovers across IaaS, PaaS and FaaS providers, as well as Swagger, gRPC, and GraphQL.
  • Gloo integrates intimately with the user's environment: with Gloo, users are free to choose their favorite tools for scheduling (such as K8s, Nomad, OpenShift, etc), persistence (K8s, Consul, etcd, etc) and security (K8s, Vault).

Next Steps

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.

Security

Reporting security issues: We take Gloo's security very seriously. If you've found a security issue or a potential security issue in Gloo, please DO NOT file a public Github issue, instead send your report privately to security@solo.io.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
docs
cmd
hack
install
jobs
pkg
listers/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
utils/selectionutils/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
projects
gateway/pkg/api/v1/kube/apis/gateway.solo.io/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
gateway/pkg/api/v1/kube/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
gateway/pkg/api/v1/kube/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
gateway/pkg/api/v1/kube/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
gateway/pkg/api/v1/kube/client/clientset/versioned/typed/gateway.solo.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
gateway/pkg/api/v1/kube/client/clientset/versioned/typed/gateway.solo.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
gateway/pkg/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
gateway/pkg/mocks/mock_conversion
Package mock_conversion is a generated GoMock package.
Package mock_conversion is a generated GoMock package.
gateway/pkg/mocks/mock_v1
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
gateway/pkg/mocks/mock_v2
Package mock_v2 is a generated GoMock package.
Package mock_v2 is a generated GoMock package.
gloo/cli/pkg/cmd/version/mocks
Package mock_version is a generated GoMock package.
Package mock_version is a generated GoMock package.
gloo/pkg/api/v1/kube/apis/gloo.solo.io/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
gloo/pkg/api/v1/kube/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
gloo/pkg/api/v1/kube/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
gloo/pkg/api/v1/kube/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
gloo/pkg/api/v1/kube/client/clientset/versioned/typed/gloo.solo.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
gloo/pkg/api/v1/kube/client/clientset/versioned/typed/gloo.solo.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
gloo/pkg/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
gloo/pkg/plugins/kubernetes/mocks
Package mock_kubernetes is a generated GoMock package.
Package mock_kubernetes is a generated GoMock package.
gloo/pkg/translator
Package translator is a generated protocol buffer package.
Package translator is a generated protocol buffer package.
gloo/pkg/upstreams/consul
Package consul is a generated GoMock package.
Package consul is a generated GoMock package.
gloo/pkg/xds
Package server provides an implementation of a streaming xDS server.
Package server provides an implementation of a streaming xDS server.
metrics/pkg/metricsservice/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
test
e2e
mocks/cache
Package mock_cache is a generated GoMock package.
Package mock_cache is a generated GoMock package.
mocks/gloo
Package mock_validation is a generated GoMock package.
Package mock_validation is a generated GoMock package.
mocks/kubernetes
Package mock_kubernetes is a generated GoMock package.
Package mock_kubernetes is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL