Ambassador Edge Stack 2.0.5
🎉 Ambassador Edge Stack 2.0.5 🎉
Ambassador Edge Stack is a Kubernetes-native microservices API gateway built on the Envoy Proxy.
Upgrade Edge Stack - https://www.getambassador.io/reference/upgrading.html
View changelog - https://github.com/datawire/edge-stack/blob/master/CHANGELOG.md
Get started with Edge Stack on Kubernetes - https://www.getambassador.io/user-guide/getting-started
Ambassador Edge Stack
-
Change: When Ambassador Edge Stack makes a cacheable internal request (such as fetching the JWKS endpoint
for aJWT
Filter
), if a cache-miss occurs but a request for that resource is already
in-flight, then instead of performing a second request in parallel, it will now wait for the first
request to finish and (if the response is cacheable) use that response. If the response turns out
to be non-cacheable, then it will proceed to make the second request. This avoids the situation
where if a cache entry expires during a moment with high number of concurrent requests, then Edge
Stack creates a deluge of concurrent requests to the resource when one aught to have sufficed;
this allows the result to be returned more quickly while putting less load on the remote resource.
However, if the response turns out to be non-cacheable, then this does effectively serialize
requests, increasing the latency for concurrent requests. -
Feature: It is now possible to set the
circuit_breakers
forAuthServices
, exactly the same as for
Mappings
andTCPMappings
. This makes it possible to configure yourAuthService
to be able to
handle more than 1024 concurrent requests. -
Bugfix: When Ambassador Edge Stack completes an internal request (such as fetching the JWKS endpoint for a
JWT
Filter
) it logs (at theinfo
log level) how long the request took. Previously, the
duration logged was how long it took to receive the response header, and did not count the time it
takes to receive the entire response body; now it properly times the entire thing. Additionally,
it now separately logs the "total duration" and the "networking duration", in order to make it
possible to identify when a request was delayed waiting for other requests to finish. -
Bugfix: Any token delimited by '%' is now validated agains a whitelist of valid Envoy command operators.
Any mapping containing anerror_response_overrides
section with invalid command operators will
be discarded. -
Bugfix: The
Host
CRD now correctly supports themappingSelector
element, as documented. As a
transition aid,selector
is a synonym formappingSelector
; a future version of Ambassador Edge
Stack will remove theselector
element. (3902)