/emissary

open source Kubernetes-native API gateway for microservices built on the Envoy Proxy

Primary LanguagePythonApache License 2.0Apache-2.0

Emissary-ingress

Version Docker Repository Join Slack Core Infrastructure Initiative: Best Practices Artifact HUB

Emissary-Ingress is an open-source Kubernetes-native API Gateway + Layer 7 load balancer + Kubernetes Ingress built on Envoy Proxy. Emissary-ingress is a CNCF incubation project (and was formerly known as Ambassador API Gateway).

Emissary-ingress enables its users to:

See the full list of features here.

Branches

(If you are looking at this list on a branch other than master, it may be out of date.)

  • master - branch for Emissary-ingress dev work ( ✔️ upcoming release)
  • release/v3.9 - branch for Emissary-ingress 3.9.z work
  • release/v2.5 - branch for Emissary-ingress 2.5.z work ( ✔️ maintenance)

Architecture

Emissary is configured via Kubernetes CRDs, or via annotations on Kubernetes Services. Internally, it uses the [Envoy Proxy] to actually handle routing data; externally, it relies on Kubernetes for scaling and resiliency. For more on Emissary's architecture and motivation, read this blog post.

Getting Started

You can get Emissary up and running in just three steps. Follow the instructions here: https://www.getambassador.io/docs/emissary/latest/tutorials/getting-started/

If you are looking for a Kubernetes ingress controller, Emissary 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 Emissary. For more information, see the instructions in the Helm installation documentation

Check out the full Emissary documentation at www.getambassador.io/docs/open-source.

Community

Emissary-ingress is a CNCF Incubating project and welcomes any and all contributors.

Check out the Community/ directory for information on the way the community is run, including:

The best way to join the community is to join the CNCF Slack #emissary-ingress channel.

Check out the DevDocumentation/ directory for information on the technicals of Emissary, most notably the CONTRIBUTING.md contributor's guide.

If you're interested in contributing, here are some ways:

The Ambassador Edge Stack is a superset of Emissary-ingress that provides additional functionality including OAuth/OpenID Connect, advanced rate limiting, Swagger/OpenAPI support, integrated ACME support for automatic TLS certificate management, and a cloud-based UI. For more information, visit https://www.getambassador.io/editions/.