From 64e3d93118fbd9545e2b17b5f58640a8e4c57020 Mon Sep 17 00:00:00 2001 From: Brooks Townsend Date: Fri, 17 Jan 2025 14:06:22 -0500 Subject: [PATCH] refactor(wadm): better visibility controls Signed-off-by: Brooks Townsend --- crates/wadm/src/lib.rs | 33 ++++++++++++++++++++------------- crates/wadm/src/nats.rs | 2 +- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/crates/wadm/src/lib.rs b/crates/wadm/src/lib.rs index c220afa0..14a6ce38 100644 --- a/crates/wadm/src/lib.rs +++ b/crates/wadm/src/lib.rs @@ -1,6 +1,7 @@ use std::sync::Arc; use std::time::Duration; +use anyhow::Result; use async_nats::jetstream::{stream::Stream, Context}; use config::WadmConfig; use tokio::{sync::Semaphore, task::JoinSet}; @@ -73,12 +74,18 @@ pub const APP_SPEC_ANNOTATION: &str = "wasmcloud.dev/appspec"; pub const SCALER_KEY: &str = "wasmcloud.dev/scaler"; /// The default link name. In the future, this will likely be pulled in from another crate pub const DEFAULT_LINK_NAME: &str = "default"; -pub(crate) const WADM_EVENT_STREAM_NAME: &str = "wadm_events"; -pub(crate) const WADM_EVENT_CONSUMER_STREAM_NAME: &str = "wadm_event_consumer"; -pub(crate) const COMMAND_STREAM_NAME: &str = "wadm_commands"; -pub(crate) const STATUS_STREAM_NAME: &str = "wadm_status"; -pub(crate) const NOTIFY_STREAM_NAME: &str = "wadm_notify"; -pub(crate) const WASMBUS_EVENT_STREAM_NAME: &str = "wasmbus_events"; +/// Default stream name for wadm events +pub const DEFAULT_WADM_EVENT_STREAM_NAME: &str = "wadm_events"; +/// Default stream name for wadm event consumer +pub const DEFAULT_WADM_EVENT_CONSUMER_STREAM_NAME: &str = "wadm_event_consumer"; +/// Default stream name for wadm commands +pub const DEFAULT_COMMAND_STREAM_NAME: &str = "wadm_commands"; +/// Default stream name for wadm status +pub const DEFAULT_STATUS_STREAM_NAME: &str = "wadm_status"; +/// Default stream name for wadm notifications +pub const DEFAULT_NOTIFY_STREAM_NAME: &str = "wadm_notify"; +/// Default stream name for wasmbus events +pub const DEFAULT_WASMBUS_EVENT_STREAM_NAME: &str = "wasmbus_events"; /// Start wadm with the provided [WadmConfig], returning [JoinSet] with two tasks: /// 1. The server task that listens for API requests @@ -117,7 +124,7 @@ pub(crate) const WASMBUS_EVENT_STREAM_NAME: &str = "wasmbus_events"; /// } /// }; /// ``` -pub async fn start_wadm(config: WadmConfig) -> anyhow::Result>> { +pub async fn start_wadm(config: WadmConfig) -> Result>> { // Build storage adapter for lattice state (on by default) let (client, context) = nats::get_client_and_context( config.nats_server.clone(), @@ -171,7 +178,7 @@ pub async fn start_wadm(config: WadmConfig) -> anyhow::Result anyhow::Result anyhow::Result anyhow::Result anyhow::Result anyhow::Result for StreamPersistence { } /// Creates a NATS client from the given options -pub async fn get_client_and_context( +pub(crate) async fn get_client_and_context( url: String, js_domain: Option, seed: Option,