Emissary Ingress (formerly known as the Ambassador API Gateway) is an open-source Kubernetes-native API Gateway + Layer 7 load balancer + Kubernetes Ingress built on Envoy Proxy. Emissary Ingress is an CNCF incubation project.
The Ambassador Edge Stack is a complete superset of the OSS Emissary Ingress project that offers additional functionality. Edge Stack is designed to easily expose, secure, and manage traffic to your Kubernetes microservices of any type. Edge Stack was built around the ideas of self-service (enabling GitOps-style management) and comprehensiveness (so it works with your situations and technology solutions).
Emissary Ingress enables its users to:
- Manage ingress traffic with load balancing, protocol support(gRPC and HTTP/2, TCP, and web sockets), and Kubernetes integration
- Manage changes to routing with an easy to use declarative policy engine and self-service configuration, via Kubernetes CRDs or annotations
- Secure microservices with authentication, rate limiting, TLS, automatic HTTPS, and custom request fiters
- Ensure high availability with sticky sessions, rate limiting, and circuit breaking
- Leverage observability with integrations with Grafana, Prometheus, and Datadog, and comprehensive metrics support
- Set up shared development environments with Service Preview
- Onboard developers with a Developer Portal
- Enable progressive delivery with canary releases
- Connect service meshes including Consul, Linkerd, and Istio
- Knative serverless integration
See the full list of features here. Learn Why the Ambassador Edge Stack?
(If you are looking at this list on a branch other than master
, it
may be out of date.)
master
- branch for Emissary-ingress 3.1.z work (:heavy_check_mark: current latest)release/v3.0
- branch for Emissary-ingress 3.0.z work (:x: EOL; upgrade to 3.1.z)release/v2.3
- branch for Emissary-ingress 2.3.z work (:heavy_check_mark: maintenance, supported through December 2022)release/v2.2
- branch for Emissary-ingress 2.2.z work (:x: EOL; upgrade to 2.3.z)release/v2.1
- branch for Emissary-ingress 2.1.z work (:x: EOL; upgrade to 2.3.z)release/v2.0
- branch for Emissary-ingress 2.0.z work (:x: EOL; upgrade to 2.3.z)release/v1.14
- branch for Emissary-ingress 1.14.z work (:heavy_check_mark: maintenance, supported through September 2022)release/v1.13
- branch for Emissary-ingress 1.13.z work (:x: EOL; upgrade to 1.14.z)release/v1.12
- branch for Ambassador API Gateway 1.12.z work (:x: EOL; upgrade to 1.14.z)release/v1.11
- branch for Ambassador API Gateway 1.11.z work (:x: EOL; upgrade to 1.14.z)release/v1.10
- branch for Ambassador API Gateway 1.10.z work (:x: EOL; upgrade to 1.14.z)release/v1.9
- branch for Ambassador API Gateway 1.9.z work (:x: EOL; upgrade to 1.14.z)release/v1.8
- branch for Ambassador API Gateway 1.8.z work (:x: EOL; upgrade to 1.14.z)release/v1.7
- branch for Ambassador API Gateway 1.7.z work (:x: EOL; upgrade to 1.14.z)release/v1.6
- branch for Ambassador API Gateway 1.6.z work (:x: EOL; upgrade to 1.14.z)release/v1.5
- branch for Ambassador API Gateway 1.5.z work (:x: EOL; upgrade to 1.14.z)release/v1.4
- branch for Ambassador API Gateway 1.4.z work (:x: EOL; upgrade to 1.14.z)release/v1.3
- branch for Ambassador API Gateway 1.3.z work (:x: EOL; upgrade to 1.14.z)release/v1.2
- branch for Ambassador API Gateway 1.2.z work (:x: EOL; upgrade to 1.14.z)release/v1.1
- branch for Ambassador API Gateway 1.1.z work (:x: EOL; upgrade to 1.14.z)
Ambassador deploys the Envoy Proxy for L7 traffic management. Configuration of Ambassador is via Kubernetes annotations. Ambassador relies on Kubernetes for scaling and resilience. For more on Ambassador's architecture and motivation, read this blog post.
You can get Ambassador up and running in just three steps. Follow the instructions here: https://www.getambassador.io/docs/edge-stack/latest/tutorials/getting-started/.
If you are looking for a Kubernetes ingress controller, Ambassador provides a superset of the functionality of a typical ingress controller. (It does the traditional routing, and layers on a raft of configuration options.) This blog post covers Kubernetes ingress.
For other common questions, view this FAQ page.
You can also use Helm to install Ambassador. For more information, see the instructions in the Helm installation documentation.
Ambassador is an open-source project, and welcomes any and all contributors. To get started:
- Join our Slack channel
- Check out the Ambassador documentation
- Read the Contributor's Guide.
If you're interested in contributing, here are some ways:
- Write a blog post for our blog
- Investigate an open issue
- Add more tests
The Ambassador Edge Stack is a superset of the Ambassador API Gateway that provides additional functionality including OAuth/OpenID Connect, advanced rate limiting, Swagger/OpenAPI support, integrated ACME support for automatic TLS certificate management, and a UI. For more information, visit https://www.getambassador.io/editions/.