Ambassador

API Gateway for Microservices built on Lyft Envoy

Get Started
Star Fork

Map services to arbitrary URLs in a single, declarative YAML file.

Easily integrate your own authentication service with Ambassador for per-request authentication.

Ambassador uses the high performance Envoy Proxy, which processes over 2M requests/second at Lyft. Ambassador runs as a sidecar to Envoy, insuring that you get raw Envoy performance.

Ambassador uses the proven resilience capabilities of Kubernetes to insure high availability. For example, Kubernetes is responsible for auto-restarting, auto-scaling, and updating (via a RollingUpdate) Ambassador. Unlike many other API Gateways, Ambassador has no database -- it relies on ConfigMap to store state.

Ambassador uses a declarative YAML syntax, which means you can easily keep your Ambassador configuration in source control.

It's easy to get started:

  1. Create a mapping.yaml file with your routes.

    ---
    apiVersion: ambassador/v0
    kind: Mapping
    name: qotm_mapping
    prefix: /qotm/
    service: qotm
    
  2. Deploy your configuration as a ConfigMap

    kubectl create configmap ambassador-config --from-file mapping-qotm.yaml
  3. Deploy Ambassador. Ambassador comes pre-configured with liveness and readiness probes, and is ready to run in a high availability environment from the get go.

    kubectl apply -f https://www.getambassador.io/yaml/ambassador/ambassador.yaml

Stay Updated

Ambassador is under active development. Subscribe to get updates and announcements: