Giter Site home page Giter Site logo

alvarlaigna / gloo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from solo-io/gloo

0.0 3.0 0.0 42.99 MB

The Function Gateway built on top of Envoy

Home Page: https://gloo.solo.io

License: Apache License 2.0

Dockerfile 0.25% Makefile 0.63% Python 0.89% Shell 0.97% Go 95.95% JavaScript 0.81% HTML 0.28% Smarty 0.20% HCL 0.01%

gloo's Introduction

Gloo
The Function Gateway

What is Gloo?

Gloo is a high-performance, plugin-extendable, platform-agnostic function Gateway built on top of Envoy. Gloo is designed for microservice, monolithic, and serverless applications. By employing function-level routing, Gloo can completely decouple client APIs from upstream APIs at the routing level. Gloo serves as an abstraction layer between clients and upstream services, allowing front-end teams to work independently of teams developing the microservices their apps connect to.


Gloo


Features

Microservice Platform Integrations with Service Discovery:

  • Kubernetes
  • OpenShift
  • HashiCorp Stack (Vault, Consul, Nomad)
  • Cloud Foundry

Serverless Platform Integrations with Function Discovery:

  • AWS Lambda
  • Microsoft Azure Functions
  • Google Cloud Platform Functions
  • Fission
  • OpenFaaS
  • ProjectFn

Routing Features:

  • Dynamic Load Balancing: Load balance traffic across multiple upstream services.
  • Health Checks: Active and passive monitoring of your upstream services.
  • OpenTracing: Monitor requests using the well-supported OpenTracing standard
  • Monitoring: Export HTTP metrics to Prometheus or Statsd
  • SSL: Highly customizable options for adding SSL encryption to upstream services with full support for SNI.
  • Transformations: Add, remove, or manipulate HTTP requests and responses.
  • Automated API Translation: Automatically transform client requests to upstream API calls using Gloo’s Function Discovery
  • CLI: Control your Gloo cluster from the command line.
  • Declarative API: Gloo features a declarative YAML-based API; store your configuration as code and commit it with your projects.
  • Failure Recovery: Gloo is completely stateless and will immediately return to the desired configuration at boot time.
  • Scalability: Gloo acts as a control plane for Envoy, allowing Envoy instances and Gloo instances to be scaled independently. Both Gloo and Envoy are stateless.
  • Performance: Gloo leverages Envoy for its high performance and low footprint.
  • Plugins: Extendable architecture for adding functionality and integrations to Gloo.
  • Tooling: Build and Deployment tool for customized builds and deployment options
  • Events: Invoke APIs using CloudEvents.
  • Pub/Sub: Publish HTTP requests to NATS
  • JSON-to-gRPC transcoding: Connect JSON clients to gRPC services

Documentation

About gloo:

  • Introduction: Introduction to Gloo with a basic overview of Gloo itself and its use cases
  • Concepts: Explanation of the key concepts used in Gloo.
  • Architecture: Overview of Gloo's architecture. Covers architecture at a high level, and the component architecture

Installation:

Getting Started:

Tutorials

Plugins:

  • AWS Lambda Plugin: Description of the AWS Lambda Plugin and config rules for AWS Lambda Upstreams and Functions
  • Kubernetes Plugin: Description of the Kubernetes Plugin and config rules for Kubernetes Upstreams
  • Service Plugin: Description of the Service Plugin and config rules for Service Upstreams
  • Request Transformation Plugin: Description of the Request Transformation Plugin and config rules for Request Transformation Routes and Functions

v1 API reference:

  • Upstreams: API Specification for the Gloo Upstream Config Object
  • Virtual: API Specification for the Gloo Virtual Service Config Object
  • Metadata: API Specification for Gloo Config Object Metadata
  • Status: API Specification for Gloo Config Object Status

Blogs & Demos

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.

gloo's People

Contributors

ilackarms avatar yuval-k avatar axhixh avatar ilevine avatar talnordan avatar anton-st avatar gaberger avatar kenfdev avatar mitchdraft avatar sufuf3 avatar andrewmelis avatar monotykamary avatar peterj avatar totiz avatar ericmand avatar tortlewortle avatar raindev avatar alexellis avatar

Watchers

Alvar Laigna avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.