🎉 Ambassador 1.13.0 🎉
Ambassador is an open source, Kubernetes-native microservices API gateway built on the Envoy Proxy.
Upgrade Ambassador - https://www.getambassador.io/reference/upgrading.html
View changelog - https://github.com/datawire/ambassador/blob/master/CHANGELOG.md
Get started with Ambassador on Kubernetes - https://www.getambassador.io/user-guide/getting-started
Emissary Ingress and Ambassador Edge Stack
Note: Support for the deprecated v2alpha
protocol_version
has been removed from the AuthService
and RateLimitService
.
- Feature: Added support for the Mapping AuthService setting
auth_context_extensions
, allowing supplying custom per-mapping information to external auth services (thanks, Giridhar Pathak!). - Feature: Added support in ambassador-agent for reporting Argo Rollouts and Argo Applications to Ambassador Cloud
- Feature: The Ambassador Module configuration now supports the
diagnostics.allow_non_local
flag to expose admin UI internally only (#3074 -- thanks, Fabrice!) - Feature: Ambassador will now use the Envoy v3 API internally when the AMBASSADOR_ENVOY_API_VERSION environment variable is set to "V3". By default, Ambassador will continue to use the v2 API.
- Feature: The Ambassador Agent is now available (and deployed by default) for the API Gateway (https://app.getambassador.io).
- Feature: The Ambassador Module configuration now supports
merge_slashes
which tells Ambassador to merge adjacent slashes when performing route matching. For example, when true, a request with URL '//foo/' would match a Mapping with prefix '/foo/'. - Feature: Basic support for a subset of the Kubernetes Gateway API has been added.
- Feature: Ambassador now supports the
DD_ENTITY_ID
environment variable to set thedd.internal.entity_id
statistics tag on metrics generated when using DogStatsD. - Bugfix: Make Knative paths match on prefix instead of the entire path to better align to the Knative specification (#3224).
- Bugfix: The endpoint routing resolver will now properly watch services that include a scheme.
- Bugfix: Environment variable interpolation works again for
ConsulResolver.Spec.Address
without settingAMBASSADOR_LEGACY_MODE
(#3182, #3317) - Bugfix: Endpoint routing will now detect endpoint changes when your service field includes
.svc.cluster.local
. (#3324) - Bugfix: Upgrade PyYAML to 5.4.1 (#3349)
- Change: The Helm chart has been moved into this repo, in the
charts/ambassador
directory. - Change: The
Mapping
CRD has been modified so thatkubectl get mappings
now has a column for not just the source path-prefix (.spec.prefix
), but the source host (.spec.host
) too. - Change: The yaml in yaml/docs is now generated from the contents of the helm chart in the
charts/ambassador
directory. - Change: Support for the deprecated
v2alpha
protocol_version
has been removed from theAuthService
andRateLimitService
.
Ambassador Edge Stack only
- Feature: DevPortal: Added doc.display_name attribute to the Mapping CRD. This value allows for a custom name and documentation URL path of the service in the DevPortal.
- Feature: DevPortal: Added
naming_scheme
enum to the DevPortal CRD. This enum controls the way services are displayed in the DevPortal. Supported values arenamespace.name
(current behavior) andname.prefix
, which will use the Mapping name and Mapping prefix to display the services. - Feature: DevPortal:
DEVPORTAL_DOCS_BASE_PATH
environment variable makes the base path of service API documentation configurable. - Feature: DevPortal: DevPortal will now reload content on changes to Mapping and DevPortal resources.
- Feature: DevPortal: DevPortal now supports a search endpoint at
/docs/api/search
- Feature: DevPortal search can be configured to only search over titles (with search.type=
title-only
in the DevPortal CRD) or to search over all content (search.type=all-content
) - Feature: DevPortal search supports deep linking to openapi spec entries (must set
search.type=all-content
andsearch.enabled=true
on the DevPortal CRD) - Feature: DevPortal: Trigger content refresh by hitting
/docs/api/refreshContent
- Feature: The AES ratelimit preview service now supports burst ratelimiting (aka token bucket ratelimiting).
- Bugfix: The AES ratelimit preview no longer ignores LOCAL_CACHE_SIZE_IN_BYTES.
- Bugfix: The AES ratelimit preview no longer ignores NEAR_LIMIT_RATIO.
- Bugfix: The AES ratelimit preview no longer ignores EXPIRATION_JITTER_MAX_SECONDS.
- Change: Silence DevPortal warnings when DevPortal cannot parse a hostname from a Mapping. (#3341)