diff --git a/Dockerfile.rust b/Dockerfile.rust index d1fdd997..2d94fe66 100644 --- a/Dockerfile.rust +++ b/Dockerfile.rust @@ -4,7 +4,7 @@ WORKDIR /build RUN apk add rustup build-base protoc # todo: arm64 target -RUN rustup-init --default-host x86_64-unknown-linux-musl --default-toolchain stable --profile default -y +RUN rustup-init --default-host x86_64-unknown-linux-musl --default-toolchain nightly-2024-08-20 --profile default -y ENV PATH=/root/.cargo/bin:$PATH ENV RUSTFLAGS='-C link-arg=-s' diff --git a/lib/libpk/src/_config.rs b/lib/libpk/src/_config.rs index d138df1b..298e603c 100644 --- a/lib/libpk/src/_config.rs +++ b/lib/libpk/src/_config.rs @@ -18,6 +18,7 @@ pub struct DiscordConfig { pub bot_token: String, pub client_secret: String, pub max_concurrency: u32, + #[serde(default)] pub cluster: Option, pub api_base_url: Option, @@ -81,8 +82,11 @@ fn _json_log_default() -> bool { pub struct PKConfig { pub db: DatabaseConfig, + #[serde(default)] pub discord: Option, + #[serde(default)] pub api: Option, + #[serde(default)] pub avatars: Option, #[serde(default = "_metrics_default")] @@ -105,7 +109,8 @@ impl PKConfig { lazy_static! { #[derive(Debug)] pub static ref CONFIG: Arc = { - if let Ok(var) = std::env::var("NOMAD_ALLOC_INDEX") { + if let Ok(var) = std::env::var("NOMAD_ALLOC_INDEX") + && std::env::var("pluralkit__discord__cluster__total_nodes").is_ok() { std::env::set_var("pluralkit__discord__cluster__node_id", var); } diff --git a/lib/libpk/src/lib.rs b/lib/libpk/src/lib.rs index c474bada..e1a9561c 100644 --- a/lib/libpk/src/lib.rs +++ b/lib/libpk/src/lib.rs @@ -1,3 +1,4 @@ +#![feature(let_chains)] use metrics_exporter_prometheus::PrometheusBuilder; use tracing_subscriber::EnvFilter;