v1.1.0
Feature release with behavior changes
What's new
ISTIO_QUIT_API
is configured automatically usingENVOY_ADMIN_API
as a base if it is configured with the default port. SettingISTIO_QUIT_API
manually to anything but""
will take precedence.- Introduced
QUIT_REQUEST_TIMEOUT
config variable to time out quit requests toISTIO_QUIT_API
andGENERIC_QUIT_ENDPOINTS
- Introduced
GENERIC_QUIT_ONLY
config variable to send a request to the configuredGENERIC_QUIT_ENDPOINTS
but not toISTIO_QUIT_API
when the wrapped application exits.
Behavior changes
ISTIO_QUIT_API
set by default in most configurations
If the ENVOY_ADMIN_API
is set to the default port 15000
the ISTIO_QUIT_API
configured correctly by default.
On deployments that restart the containers the shutdown behavior might be undesirable.
The envoy proxy will be restarted but when the pod has multiple containers that means that meaningful work in the containers that did not crash could be interrupted.
So for pods that have multiple containers that need traffic through the service mesh, it is recommended to set NEVER_KILL_ISTIO
to true
.
Default timeout of 5 seconds on quit requests
Request to the /quitquitquit
endpoint on the pilot agent and requests to GENERIC_QUIT_ENDPOINTS
by default time out after 5 seconds. Change the newly introduced QUIT_REQUEST_TIMEOUT
variable to override the 5 second default.
Generic quit endpoints called concurrently
When multiple GENERIC_QUIT_ENDPOINTS
are configured the requests are no longer waiting on each other but all send at the same time. This might matter if you rely on a configured order for orchestration.
Switched to stdlib HTTP client
All save one dependencies have been cleaned up but that does mean that some fancy http2
stuff that monzo/typhon
used to do has also been removed.
What's Changed
- Update base image to 1.21.1 by @kvij in #16
- Remove github.com/monzo/typhon dependency by @kvij in #12
- Add quit request timeout by @kvij in #18
- Remove PKILL implementation for Istio versions < 1.3 by @kvij in #17
- Generic quit only by @kvij in #7
Full Changelog: v1.0.4...v1.1.0