Releases: emissary-ingress/emissary
Emissary Ingress 2.2.0
🎉 Emissary Ingress 2.2.0 🎉
Emissary Ingress is an open source, Kubernetes-native microservices API gateway built on the Envoy Proxy.
Upgrade Emissary - https://www.getambassador.io/reference/upgrading.html
View changelog - https://github.com/emissary-ingress/emissary/blob/v2.2.0/CHANGELOG.md
Get started with Emissary on Kubernetes - https://www.getambassador.io/user-guide/getting-started
-
Change: Support for the Envoy V2 API is deprecated as of Emissary-ingress v2.1, and will be
removed in Emissary-ingress v3.0. TheAMBASSADOR_ENVOY_API_VERSION
environment variable will be
removed at the same time. Only the Envoy V3 API will be supported (this has been the default since
Emissary-ingress v1.14.0). -
Change: Emissary-ingress will now watch for ConfigMap or Secret resources specified by the
AGENT_CONFIG_RESOURCE_NAME
environment variable in order to allow all components (and not only
the Ambassador Agent) to authenticate requests to Ambassador Cloud. -
Security: Emissary-ingress has updated Alpine to 3.15, and Python and Go dependencies to their
latest compatible versions, to incorporate numerous security patches. -
Feature: Emissary-ingress now supports the metric
ambassador_log_level{label="debug"}
which will
be set to 1 if debug logging is enabled for the running Emissary instance, or to 0 if not. This
can help to be sure that a running production instance was not actually left doing debugging
logging, for example. (Thanks to Fabrice!) (#3906) -
Feature: Emissary-ingress is now leveraging a new Envoy Proxy patch that allows Envoy to accept
escaped '%' characters in its configuration. This means that error_response_overrides and other
custom user content can now contain '%' symbols escaped as '%%'. (DW Envoy: 74) (Upstream Envoy: 19383) -
Feature: Support for streaming Envoy metrics about the clusters to Ambassador Cloud. (#4053)
-
Feature: The Ambassador agent now receives commands to manipulate Rollouts (pause, continue, and
abort are currently supported) via directives and executes them in the cluster. A report is sent
to Ambassador Cloud including the command ID, whether it ran successfully, and an error message in
case there was any. (#4040) -
Bugfix: Kubernetes Secrets that should contain TLS certificates are now validated before being
accepted for configuration. A Secret that contains an invalid TLS certificate will be logged as an
invalid resource. (#3821)
Emissary Ingress Chart 7.3.0
🎉 Emissary Ingress Chart 7.3.0 🎉
Upgrade Emissary - https://www.getambassador.io/reference/upgrading#helm.html
View changelog - https://github.com/emissary-ingress/emissary/blob/master/charts/emissary-ingress/CHANGELOG.md
Emissary Ingress 2.1.2
🎉 Emissary Ingress 2.1.2 🎉
Emissary Ingress is an open source, Kubernetes-native microservices API gateway built on the Envoy Proxy.
Upgrade Emissary - https://www.getambassador.io/reference/upgrading.html
View changelog - https://github.com/emissary-ingress/emissary/blob/v2.1.2/CHANGELOG.md
Get started with Emissary on Kubernetes - https://www.getambassador.io/user-guide/getting-started
-
Bugfix: Emissary-ingress 2.1.0 generated invalid Envoy configuration for
getambassador.io/v2
Mappings
that setspec.cors.origins
to a string rather than a list of strings; this has been
fixed, and theseMappings
should once again function correctly. -
Bugfix: Changes to the
weight
ofMapping
in a canary group will now always be correctly
managed during reconfiguration; such changes could have been missed in earlier releases. -
Bugfix: A
Mapping
that is not part of a canary group, but that has aweight
less than 100,
will be correctly configured to receive all traffic as if theweight
were 100. -
Bugfix: Using
rewrite: ""
in aMapping
is correctly handled to mean "do not rewrite the path
at all". -
Bugfix:
Mapping
s with DNS wildcardhostname
will now be correctly matched withHost
s.
Previously, the case where both theHost
and theMapping
use DNS wildcards for their hostnames
could sometimes not correctly match when they should have. -
Bugfix: Any
Mapping
that uses thehost_redirect
field is now properly discovered and used.
Thanks to Gabriel Féron for contributing this bugfix! (3709) -
Bugfix: If the
ambassador
Module
sets a global default foradd_request_headers
,
add_response_headers
,remove_request_headers
, orremove_response_headers
, it is often
desirable to be able to turn off that setting locally for a specificMapping
. For several
releases this has not been possible forMappings
that are native Kubernetes resources (as
opposed to annotations), as an empty value ("mask the global default") was erroneously considered
to be equivalent to unset ("inherit the global default"). This is now fixed. -
Bugfix: It is now possible to set a
Mapping
spec.error_response_overrides
body.text_format
to an empty string orbody.json_format
to an empty dict. Previously, this was possible for
annotations but not for native Kubernetes resources. -
Bugfix: Resources that exist as
getambassador.io/config
annotations rather than as native
Kubernetes resources are now validated and internally converted to v3alpha1 and, the same as
native Kubernetes resources. -
Bugfix: Resource validation errors are now reported more consistently; it was the case that in
some situations a validation error would not be reported. -
Change: Docker BuildKit is enabled for all Emissary builds. Additionally, the Go build cache is
fully enabled when building images, speeding up repeated builds.
Emissary Ingress Chart 7.2.2
🎉 Emissary Ingress Chart 7.2.2 🎉
Upgrade Emissary - https://www.getambassador.io/reference/upgrading#helm.html
View changelog - https://github.com/emissary-ingress/emissary/blob/master/charts/emissary-ingress/CHANGELOG.md
- Update Emissary chart image to version v2.1.2: CHANGELOG
Emissary Ingress 2.1.0
🎉 Emissary Ingress 2.1.0 🎉
Emissary Ingress is an open source, Kubernetes-native microservices API gateway built on the Envoy Proxy.
Upgrade Emissary - https://www.getambassador.io/reference/upgrading.html
View changelog - https://github.com/emissary-ingress/emissary/blob/master/CHANGELOG.md
Get started with Emissary on Kubernetes - https://www.getambassador.io/user-guide/getting-started
-
Feature: It is now possible to use both the
getambassador.io/v2
andgetambassador.io/v3alpha1
apiVersions. This is accomplished with the addition of anemissary-ingress-apiext
Service and
Deployment that handles converting between the two versions for the apiserver. This allows the
user to semlessly request and author resources in whichever API version is desired, and
facilitates easier migration from Emissary 1.x to 2.x. Resources authored in v3alpha1 will not be
visible to Emissary 1.x; resources authored in v2 will be visible to both Emissary 1.x and 2.x. -
Bugfix: The incremental reconfiguration cache could miss some updates when multiple
Mapping
s had
the sameprefix
("canary"ing multipleMapping
s together). This has been corrected, so that all
such updates correctly take effect. (3945) -
Bugfix: When using Kubernetes Secrets to store ACME private keys (as the Edge Stack ACME client
does), an error would always be logged about the Secret not being present, even though it was
present, and everything was working correctly. This error is no longer logged. -
Bugfix: When using gzip compression, upstream services will no longer receive compressed data.
This bug was introduced in 1.14.0. The fix restores the default behavior of not sending compressed
data to upstream services. (3818) -
Security: Update to busybox 1.34.1 to resolve CVE-2021-28831, CVE-2021-42378, CVE-2021-42379,
CVE-2021-42380, CVE-2021-42381, CVE-2021-42382, CVE-2021-42383, CVE-2021-42384, CVE-2021-42385,
and CVE-2021-42386. -
Security: Update Python dependencies to resolve CVE-2020-28493 (jinja2), CVE-2021-28363 (urllib3),
and CVE-2021-33503 (urllib3). -
Security: Previous built images included some Python packages used only for test. These have now
been removed, resolving CVE-2020-29651.
Emissary Ingress 2.0.5
🎉 Emissary Ingress 2.0.5 🎉
Emissary Ingress is an open source, Kubernetes-native microservices API gateway built on the Envoy Proxy.
Upgrade Emissary - https://www.getambassador.io/reference/upgrading.html
View changelog - https://github.com/emissary-ingress/emissary/blob/master/CHANGELOG.md
Get started with Emissary on Kubernetes - https://www.getambassador.io/user-guide/getting-started
-
Feature: It is now possible to set the
circuit_breakers
forAuthServices
, exactly the same as
forMappings
andTCPMappings
. This makes it possible to configure yourAuthService
to be
able to handle more than 1024 concurrent requests. -
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
Emissary-ingress will remove theselector
element. (3902)
Emissary Ingress Chart 7.1.10
🎉 Emissary Ingress Chart 7.1.10 🎉
Upgrade Emissary - https://www.getambassador.io/reference/upgrading#helm.html
View changelog - https://github.com/emissary-ingress/emissary/blob/master/charts/emissary-ingress/CHANGELOG.md
- Update Emissary chart image to version v2.0.5: CHANGELOG
Emissary Ingress 2.0.4
🎉 Emissary Ingress 2.0.4 🎉
Emissary Ingress is an open source, Kubernetes-native microservices API gateway built on the Envoy Proxy.
Upgrade Emissary - https://www.getambassador.io/reference/upgrading.html
View changelog - https://github.com/emissary-ingress/emissary/blob/master/CHANGELOG.md
Get started with Emissary on Kubernetes - https://www.getambassador.io/user-guide/getting-started
We're pleased to introduce Emissary-ingress 2.0.4 for general availability! The 2.X family introduces a number of changes to allow Emissary-ingress to more gracefully handle larger installations, reduce global configuration to better handle multitenant or multiorganizational installations, reduce memory footprint, and improve performance. We welcome feedback!! Join us on Slack and let us know what you think.
-
Change: The
x.getambassador.io/v3alpha1
API version has become thegetambassador.io/v3alpha1
API version. TheAmbassador-
prefixes fromx.getambassador.io/v3alpha1
resources have been
removed for ease of migration. Note thatgetambassador.io/v3alpha1
is the only supported API
version for 2.0.4 — full support forgetambassador.io/v2
will arrive soon in a later 2.X
version. -
Feature: The
getambassador.io/v3alpha1
API version and the published chart and manifests have
been updated to support Kubernetes 1.22. -
Feature: You can now set
dns_type
betweenstrict_dns
andlogical_dns
in aMapping
to
configure the Service Discovery Type. -
Feature: You can now set
respect_dns_ttl
totrue
to force the DNS refresh rate for aMapping
to be set to the record's TTL obtained from DNS resolution. -
Feature: You can now set
buffer_limit_bytes
in theambassador
Module
to to change the size
of the upstream read and write buffers. The default is 1MiB. -
Bugfix: The release now shows its actual released version number, rather than the internal
development version number. (#3854) -
Bugfix: Large configurations no longer cause Emissary-ingress to be unable to communicate with
Ambassador Cloud. (#3593) -
Bugfix: The
l7Depth
element of theListener
CRD is properly supported.
Emissary Ingress Chart 7.1.9
🎉 Emissary Ingress Chart 7.1.9 🎉
Upgrade Emissary - https://www.getambassador.io/reference/upgrading#helm.html
View changelog - https://github.com/emissary-ingress/emissary/blob/master/charts/emissary-ingress/CHANGELOG.md
- Update Ambassador chart image to version v2.0.4: CHANGELOG
Ambassador Chart 6.9.3
🎉 Ambassador Chart 6.9.3 🎉
Upgrade Ambassador - https://www.getambassador.io/reference/upgrading#helm.html
View changelog - https://github.com/datawire/ambassador/blob/master/charts/emissary-ingress/CHANGELOG.md