aboutsummaryrefslogtreecommitdiffstats
path: root/crates/configuration/src/server/reload_stream.rs
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2025-08-12 14:00:28 +0200
committerrtkay123 <dev@kanjala.com>2025-08-12 14:00:28 +0200
commit1d347dd2142a266552812ac2f8844acf52d2dc1c (patch)
tree70beaeb0bf572b9ef7323cc98b7b52084011d2d8 /crates/configuration/src/server/reload_stream.rs
parentc5ea875f544824b0c042bf7c0a58b3134f9c0373 (diff)
downloadwarden-1d347dd2142a266552812ac2f8844acf52d2dc1c.tar.bz2
warden-1d347dd2142a266552812ac2f8844acf52d2dc1c.zip
feat(config): reload config
Diffstat (limited to 'crates/configuration/src/server/reload_stream.rs')
-rw-r--r--crates/configuration/src/server/reload_stream.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/crates/configuration/src/server/reload_stream.rs b/crates/configuration/src/server/reload_stream.rs
new file mode 100644
index 0000000..d2ee4ab
--- /dev/null
+++ b/crates/configuration/src/server/reload_stream.rs
@@ -0,0 +1,21 @@
+use async_nats::jetstream::Context;
+use tracing::{debug, info};
+
+use crate::cnfg::JetstreamConfig;
+
+pub async fn create_stream(jetstream: &Context, config: &JetstreamConfig) -> anyhow::Result<()> {
+ debug!(name = ?config.stream, "initialising stream");
+
+ jetstream
+ .get_or_create_stream(async_nats::jetstream::stream::Config {
+ name: config.stream.to_string(),
+ max_messages: config.max_messages,
+ subjects: vec![config.subject.to_string()],
+ ..Default::default()
+ })
+ .await?;
+
+ info!(name = ?config.stream, subject = ?config.subject, "stream is ready");
+
+ Ok(())
+}