Skip to content

cloudendpoints/esp

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9e18166 · Apr 23, 2018
Jul 12, 2017
Oct 31, 2017
Apr 17, 2017
Jan 11, 2018
Nov 20, 2017
Apr 20, 2018
Apr 23, 2018
Feb 2, 2018
Feb 2, 2018
Dec 13, 2017
Jun 18, 2016
Jul 12, 2017
Dec 7, 2016
Aug 22, 2016
Nov 16, 2016
Dec 13, 2017
Mar 13, 2018
Jun 18, 2016
Jun 18, 2016
Apr 20, 2018
Nov 16, 2016
Oct 31, 2017
Mar 29, 2018
Feb 2, 2018
Apr 17, 2018

Repository files navigation

The Extensible Service Proxy

Extensible Service Proxy, a.k.a. ESP is a proxy which enables API management capabilities for JSON/REST or gRPC API services. The current implementation is based on an NGINX HTTP reverse proxy server.

ESP provides:

  • Features: authentication (auth0, gitkit), API key validation, JSON to gRPC transcoding, as well as API-level monitoring, tracing and logging. More features coming in the near future: quota, billing, ACL, etc.

  • Easy Adoption: the API service can be implemented in any coding language using any IDLs.

  • Platform flexibility: support the deployment on any cloud or on-premise environment.

  • Superb performance and scalability: low latency and high throughput

ESP can Run Anywhere

However, the initial development was done on Google App Engine Flexible Environment, GCE and GKE for API services using Open API Specification and so our instructions and samples are focusing on these platforms. If you make it work on other infrastructure and IDLs please let us know and contribute instructions/code.

Prerequisites

Common prerequisites used irrespective of operating system and build tool chain are:

Getting ESP

To download the Extensible Service Proxy source code, clone the ESP repository:

# Clone ESP repository
git clone https://github.com/cloudendpoints/esp

# Initialize Git submodules.
git -C esp submodule update --init --recursive

Repository Structure

  • doc: Documentation
  • docker: Scripts for packaging ESP in a Docker image.
  • include: Extensible Service Proxy header files.
  • src: Extensible Service Proxy source.
  • google and third_party: Git submodules containing dependencies of ESP, including NGINX.
  • script: Scripts used for build, test, and continuous integration.
  • test: Applications and client code used for end-to-end testing.
  • tools: Assorted tooling.

ESP Tutorial

To find out more about building, running, and testing ESP, please review

Contributing

Your contributions are welcome. Please follow the contributor guidlines.