All notable changes to this project will be documented in this file.
- BREAKING: Re-write the
ConversionWebhookServer. It can now do CRD conversions, handle multiple CRDs and takes care of reconciling the CRDs (#1066). - BREAKING: The
TlsServercan now handle certificate rotation. To achieve this, a newCertificateResolverwas added. Also,TlsServer::newnow returns an additionalmpsc::Receiver<Certificate>, so that the caller can get notified about certificate rotations happening (#1066).
- Don't pull in the
aws-lc-rscrate, as this currently fails to build inmake run-dev(#1043).
- BREAKING: The constant
DEFAULT_IP_ADDRESShas been renamed toDEFAULT_LISTEN_ADDRESSand binds to all addresses (instead of only loopback) by default. This was changed because all the webhooks deployed to Kubernetes (e.g. conversion or mutating - which this crate targets) need to be accessible by it, which is not the case when only using loopback. Also, the constantDEFAULT_SOCKET_ADDRhas been renamed toDEFAULT_SOCKET_ADDRESS(#1045). - BREAKING: The
TlsServernow requires you to pass SAN (subject alternative name) DNS entries, so the caller will trust the issued certificate (#1066).
- Remove instrumentation of long running functions, add more granular instrumentation of futures. Adjust span and event levels (#811).
- Bump rust-toolchain to 1.79.0 (#822).
- Fix the extraction of
ConnectInfo(data about the connection client) and theHostinfo (data about the server) in theAxumTraceLayer. This was previously not extracted correctly and thus not included in the OpenTelemetry compatible traces (#806). - Spawn blocking code on a blocking thread (#815).
- Instrument
WebhookServerwithAxumTraceLayer, add static healthcheck without instrumentation (#758). - Add shutdown signal hander for the
WebhookServer(#767).
- Bump Rust dependencies and GitHub Actions (#782).
- Bump kube to 0.89.0 and update all dependencies (#762).
- BREAKING: Bump k8s compilation version to
1.29. Also bump all dependencies. There are some breaking changes in k8s-openapi, e.g. PVCs now haveVolumeResourceRequirementsinstead ofResourceRequirements, andPodAffinityTermhas two new fieldsmatch_label_keysandmismatch_label_keys(#769). - Bump GitHub workflow actions (#772).
- Revert
zeroizeversion bump (#772).
- Explicitly set the TLS provider for the ServerConfig, and enable "safe" protocols (#778).