- update external dependencies, one of them being tonic which internally now is using
hyper:1
- reduced logging output - cluster info state is now being logged on debug level only to reduce output
- Rust v1.79 clippy lints have been fixed
- lower default values for:
CACHE_RECONNECT_TIMEOUT_LOWER=500
CACHE_RECONNECT_TIMEOUT_UPPER=2000
CACHE_ELECTION_TIMEOUT=2
to have quicker recoveries in case of a broken pipe or other errors
- additionally reduced tracing output on the
info
level - the
insert
functions have been made more resilient during graceful leader switches and fail-overs
- Send some additional TCP keepalives for connections that are idle for longer periods of time to prevent them from being dropped.
- a little bit reduced logging for the
info
level
- removes a possible panic that could occur, when a cache-receiving side abruptly cancels the task without waiting for an answer
- core dependencies have been updated
- latest rust nightly clippy lints have been applied
- a very unlikely but possible channel panic in case of a conflict resolution has been fixed
- bump MSRV to 1.70.0
Typo corrections in documentation and removed now obsolete minimal-versions dependencies.
The TLS setup has been changed a bit to make it more flexible.
The only mandatory values with CACHE_TLS=true
are now:
CACHE_TLS_SERVER_CERT
with new default: tls/redhac.cert-chain.pemCACHE_TLS_SERVER_KEY
with new default: tls/redhac.key.pem While the following ones are now optional and do not have a default anymore:CACHE_TLS_CLIENT_CERT
CACHE_TLS_CLIENT_KEY
CACHE_TLS_CA_SERVER
CACHE_TLS_CA_CLIENT
This makes it possible to use redhac
with TLS without providing a private CA file, which you
would never need, if you certificates can be validated on system level anyway already. Also, the
mTLS setup is now optional with this change.
Additionally, the TLS certificate generation in the Readme and Docs have been updated and use
Nioca for this task now, which is a lot more comfortable.
The test TLS certificates are checked into git as well for a faster start and evaluation.
Do not use them in production!
This update introduces a small new feature.
It is now possible to use the redhac::quorum::QuorumHealthState
nicely externally.
The quorum
module has been exported as pub
and the QuorumHealthState
has been added as
a pub use
to the redhac main crate. This makes it possible for applications to actually use
the QuorumHealthState
and pass it around to functions without the need to always pass the
whole CacheConfig
each time.
This is especially useful if you want to have your CacheConfig.rx_health_state
in parts of
your application.
- make
redhac::quorum::QuorumHealthState
pub usable pub mod
of thequorum
crate (with some newpub(crate)
exceptions)- bump versions or core dependencies
- fix minimal versions for new dependencies
This is a maintenance release.
- bump versions or core dependencies
- fix minimal versions for new dependencies
- introduce a justfile for easier maintenance
- bump MSRV to 1.65.0 due to core dependency updates bcdfc62 506c9c6
cache_insert
andcache_remove
default to their non-HA counterparts ifHA_MODE == false
bcde62c- deprecated code elements cleaned up 51fbe7f
- stability improvements inside certain K8s clusters - broken pipe prevention e20bc39
- removed the proto file build from
build.rs
to make docs.rs work (hopefully) b53a2d3
redhac
goes open source