chore: deps hot_reload
This commit is contained in:
parent
254b5c1bb1
commit
0d4234b620
10 changed files with 17 additions and 19 deletions
12
Cargo.lock
generated
12
Cargo.lock
generated
|
|
@ -1088,9 +1088,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "hot_reload"
|
||||
version = "0.1.9"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75c6b9b663cacaa5655b282218152476f7d38f6dc29b0d9b93a7f5fd73209b6a"
|
||||
checksum = "469bdabdc9436358811cd8fa2d35b3a0fc60534aca57979b931b9f5f9551ce16"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
|
@ -2093,7 +2093,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rpxy"
|
||||
version = "0.10.0"
|
||||
version = "0.10.1"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"anyhow",
|
||||
|
|
@ -2117,7 +2117,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rpxy-acme"
|
||||
version = "0.10.0"
|
||||
version = "0.10.1"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"async-trait",
|
||||
|
|
@ -2138,7 +2138,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rpxy-certs"
|
||||
version = "0.10.0"
|
||||
version = "0.10.1"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"async-trait",
|
||||
|
|
@ -2156,7 +2156,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rpxy-lib"
|
||||
version = "0.10.0"
|
||||
version = "0.10.1"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"anyhow",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
[workspace.package]
|
||||
version = "0.10.0"
|
||||
version = "0.10.1"
|
||||
authors = ["Jun Kurihara"]
|
||||
homepage = "https://github.com/junkurihara/rust-rpxy"
|
||||
repository = "https://github.com/junkurihara/rust-rpxy"
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ futures-util = { version = "0.3.31", default-features = false }
|
|||
# config
|
||||
clap = { version = "4.5.40", features = ["std", "cargo", "wrap_help"] }
|
||||
toml = { version = "0.8.23", default-features = false, features = ["parse"] }
|
||||
hot_reload = "0.1.9"
|
||||
hot_reload = "0.2.0"
|
||||
serde_ignored = "0.1.12"
|
||||
|
||||
# logging
|
||||
|
|
|
|||
|
|
@ -33,10 +33,9 @@ fn main() {
|
|||
|
||||
init_logger(parsed_opts.log_dir_path.as_deref());
|
||||
|
||||
let (config_service, config_rx) = ReloaderService::<ConfigTomlReloader, ConfigToml, String>::new(
|
||||
let (config_service, config_rx) = ReloaderService::<ConfigTomlReloader, ConfigToml, String>::with_delay(
|
||||
&parsed_opts.config_file_path,
|
||||
CONFIG_WATCH_DELAY_SECS,
|
||||
false,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
|
|
@ -256,7 +255,7 @@ async fn rpxy_service(
|
|||
}
|
||||
/* ---------- */
|
||||
_ = config_rx.changed() => {
|
||||
let Some(new_config_toml) = config_rx.borrow().clone() else {
|
||||
let Some(new_config_toml) = config_rx.get() else {
|
||||
error!("Something wrong in config reloader receiver");
|
||||
return Err(anyhow!("Something wrong in config reloader receiver"));
|
||||
};
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ ahash = { version = "0.8.12" }
|
|||
tracing = { version = "0.1.41" }
|
||||
derive_builder = { version = "0.20.2" }
|
||||
thiserror = { version = "2.0.12" }
|
||||
hot_reload = { version = "0.1.9" }
|
||||
hot_reload = { version = "0.2.0" }
|
||||
async-trait = { version = "0.1.88" }
|
||||
rustls = { version = "0.23.28", default-features = false, features = [
|
||||
"std",
|
||||
|
|
|
|||
|
|
@ -27,8 +27,6 @@ pub use crate::{
|
|||
// Constants
|
||||
/// Default delay in seconds to watch certificates
|
||||
const DEFAULT_CERTS_WATCH_DELAY_SECS: u32 = 60;
|
||||
/// Load certificates only when updated
|
||||
const LOAD_CERTS_ONLY_WHEN_UPDATED: bool = true;
|
||||
|
||||
/// Result type inner of certificate reloader service
|
||||
type ReloaderServiceResultInner = (
|
||||
|
|
@ -62,6 +60,7 @@ where
|
|||
let certs_watch_period = certs_watch_period.unwrap_or(DEFAULT_CERTS_WATCH_DELAY_SECS);
|
||||
|
||||
let (cert_reloader_service, cert_reloader_rx) =
|
||||
ReloaderService::<CryptoReloader, ServerCryptoBase>::new(&source, certs_watch_period, !LOAD_CERTS_ONLY_WHEN_UPDATED).await?;
|
||||
ReloaderService::<CryptoReloader, ServerCryptoBase>::with_delay(&source, certs_watch_period).await?;
|
||||
|
||||
Ok((cert_reloader_service, cert_reloader_rx))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ hyper-rustls = { version = "0.27.7", default-features = false, features = [
|
|||
|
||||
# tls and cert management for server
|
||||
rpxy-certs = { path = "../rpxy-certs/", default-features = false }
|
||||
hot_reload = "0.1.9"
|
||||
hot_reload = "0.2.0"
|
||||
rustls = { version = "0.23.28", default-features = false }
|
||||
rustls-post-quantum = { version = "0.2.2", optional = true }
|
||||
tokio-rustls = { version = "0.26.2", features = ["early-data"] }
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ where
|
|||
error!("Reloader is broken");
|
||||
break;
|
||||
}
|
||||
let server_crypto_base = server_crypto_rx.borrow().clone().unwrap();
|
||||
let server_crypto_base = server_crypto_rx.get().unwrap();
|
||||
let Some(server_config): Option<Arc<ServerCrypto>> = (&server_crypto_base).try_into().ok() else {
|
||||
error!("Failed to update server crypto");
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ where
|
|||
error!("Reloader is broken");
|
||||
break;
|
||||
}
|
||||
let cert_keys_map = server_crypto_rx.borrow().clone().unwrap();
|
||||
let cert_keys_map = server_crypto_rx.get().unwrap();
|
||||
|
||||
server_crypto = (&cert_keys_map).try_into().ok();
|
||||
let Some(inner) = server_crypto.clone() else {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ where
|
|||
|
||||
/// Receive server crypto from reloader
|
||||
fn receive_server_crypto(&self, server_crypto_rx: ReloaderReceiver<ServerCryptoBase>) -> RpxyResult<s2n_quic_rustls::Server> {
|
||||
let cert_keys_map = server_crypto_rx.borrow().clone().ok_or_else(|| {
|
||||
let cert_keys_map = server_crypto_rx.get().ok_or_else(|| {
|
||||
error!("Reloader is broken");
|
||||
RpxyError::CertificateReloadError(anyhow!("Reloader is broken").into())
|
||||
})?;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue