ambassador

module
v1.14.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2022 License: Apache-2.0

README

Ambassador API Gateway Build Status Docker Repository Docker Pulls Join Slack

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:

See the full list of features here. Learn Why the Ambassador Edge Stack?

Architecture

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.

Getting Started

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.

Community

Ambassador is an open-source 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 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/.

Directories

Path Synopsis
cmd
busyambassador
Ambassador combines the various Golang binaries used in the Ambassador container, dispatching on os.Args[0] like BusyBox.
Ambassador combines the various Golang binaries used in the Ambassador container, dispatching on os.Args[0] like BusyBox.
internal
pkg
acp
agent
Package agent implements the Agent component in Ambassador.
Package agent implements the Agent component in Ambassador.
api/edgectl/rpc
Package rpc contains files generated by protoc
Package rpc contains files generated by protoc
api/getambassador.io/v2
Package v2 contains API Schema definitions for the getambassador.io v2 API group
Package v2 contains API Schema definitions for the getambassador.io v2 API group
busy
Package busy implements a dispatcher for BusyBox-style multi-call binaries.
Package busy implements a dispatcher for BusyBox-style multi-call binaries.
debug
The debug package is intended to aid in live debugging of misbehaving Ambassadors in production.
The debug package is intended to aid in live debugging of misbehaving Ambassadors in production.
envoy-control-plane/cache/v2
Package cache defines a configuration cache for the server.
Package cache defines a configuration cache for the server.
envoy-control-plane/cache/v3
Package cache defines a configuration cache for the server.
Package cache defines a configuration cache for the server.
envoy-control-plane/conversion
Package conversion contains shared utility functions for converting xDS resources.
Package conversion contains shared utility functions for converting xDS resources.
envoy-control-plane/log
Package log provides a logging interface for use in this library.
Package log provides a logging interface for use in this library.
envoy-control-plane/server/rest/v2
Package rest provides an implementation of REST-JSON part of XDS server
Package rest provides an implementation of REST-JSON part of XDS server
envoy-control-plane/server/rest/v3
Package rest provides an implementation of REST-JSON part of XDS server
Package rest provides an implementation of REST-JSON part of XDS server
envoy-control-plane/server/sotw/v2
Package sotw provides an implementation of GRPC SoTW (State of The World) part of XDS server
Package sotw provides an implementation of GRPC SoTW (State of The World) part of XDS server
envoy-control-plane/server/sotw/v3
Package sotw provides an implementation of GRPC SoTW (State of The World) part of XDS server
Package sotw provides an implementation of GRPC SoTW (State of The World) part of XDS server
envoy-control-plane/server/v2
Package server provides an implementation of a streaming xDS server.
Package server provides an implementation of a streaming xDS server.
envoy-control-plane/server/v3
Package server provides an implementation of a streaming xDS server.
Package server provides an implementation of a streaming xDS server.
envoy-control-plane/test
Package test contains test utilities
Package test contains test utilities
envoy-control-plane/test/main
Package main contains the test driver for testing xDS manually.
Package main contains the test driver for testing xDS manually.
envoy-control-plane/test/resource/v2
Package resource creates test xDS resources
Package resource creates test xDS resources
envoy-control-plane/test/resource/v3
Package resource creates test xDS resources
Package resource creates test xDS resources
envoy-control-plane/test/v2
Package test contains test utilities
Package test contains test utilities
envoy-control-plane/test/v3
Code generated by create_version.
Code generated by create_version.
envoy-control-plane/wellknown
Package wellknown contains common names for filters, listeners, etc.
Package wellknown contains common names for filters, listeners, etc.
k8s
Package k8s is a facade over (super-terrible, very difficult to understand) client-go to provide a higher-level interface to Kubernetes, with support for simple, high-level APIs for watching resources (including from stable, long-running processes) and implementing basic controllers.
Package k8s is a facade over (super-terrible, very difficult to understand) client-go to provide a higher-level interface to Kubernetes, with support for simple, high-level APIs for watching resources (including from stable, long-running processes) and implementing basic controllers.
kates
The kates package is a library for writing kubernetes extensions.
The kates package is a library for writing kubernetes extensions.
metriton
Package metriton implements submitting telemetry data to the Metriton database.
Package metriton implements submitting telemetry data to the Metriton database.
tpu
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL