MCPcopy Index your code
hub / github.com/emissary-ingress/emissary

github.com/emissary-ingress/emissary @chart-v7.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release chart-v7.2.0 ↗ · + Follow
44,526 symbols 91,060 edges 1,553 files 19,618 documented · 44% 131 cross-repo links updated 5d agov4.1.0 · 2026-05-19★ 4,510363 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Emissary-ingress

Docker Repository Docker Pulls [Join Slack]slack-url

CII Best Practices


Emissary-Ingress 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 (and was formerly known as Ambassador API Gateway.)

Emissary-ingress enables its users to: * Manage ingress traffic with load balancing, support for multiple protocols (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, and TLS * Ensure high availability with sticky sessions, rate limiting, and circuit breaking * Leverage observability with integrations with Grafana, Prometheus, and Datadog, and comprehensive metrics support * Enable progressive delivery with canary releases * Connect service meshes including Consul, Linkerd, and Istio * Knative serverless integration

See the full list of features here.

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

Community

Emissary-ingress is a CNCF Incubating project, and welcomes any and all contributors. To get started:

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/.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 34,085
Struct 5,777
Function 3,321
Interface 660
Class 380
TypeAlias 257
Route 29
FuncType 17

Languages

Go94%
Python6%
TypeScript1%

Modules by API surface

pkg/api/envoy/config/route/v3/route_components.pb.go703 symbols
pkg/api/envoy/config/route/v4alpha/route_components.pb.go677 symbols
pkg/api/envoy/api/v2/route/route_components.pb.go577 symbols
pkg/api/envoy/config/route/v4alpha/route_components.pb.validate.go384 symbols
pkg/api/envoy/config/route/v3/route_components.pb.validate.go384 symbols
pkg/api/envoy/config/cluster/v3/cluster.pb.go310 symbols
pkg/api/envoy/config/cluster/v4alpha/cluster.pb.go306 symbols
pkg/api/envoy/api/v2/route/route_components.pb.validate.go304 symbols
pkg/api/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.go272 symbols
pkg/api/getambassador.io/v2/zz_generated.conversion.go270 symbols
pkg/api/envoy/api/v2/cluster.pb.go270 symbols
pkg/api/envoy/extensions/filters/network/http_connection_manager/v4alpha/http_connection_manager.pb.go268 symbols

Dependencies from manifests, versioned

cloud.google.com/gov0.54.0 · 1×
github.com/Antonboom/errnamev0.1.5 · 1×
github.com/Azure/go-ansitermv0.0.0-2017092923402 · 1×
github.com/Azure/go-autorestv14.2.0+incompatible · 1×
github.com/Azure/go-autorest/autorestv0.11.1 · 1×
github.com/Azure/go-autorest/autorest/adalv0.9.5 · 1×
github.com/Azure/go-autorest/autorest/datev0.3.0 · 1×
github.com/Azure/go-autorest/loggerv0.2.0 · 1×
github.com/Azure/go-autorest/tracingv0.6.0 · 1×

For agents

$ claude mcp add emissary \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page