about summary refs log tree commit diff
path: root/tvix/cli/src
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/cli/src')
-rw-r--r--tvix/cli/src/args.rs11
-rw-r--r--tvix/cli/src/lib.rs16
2 files changed, 6 insertions, 21 deletions
diff --git a/tvix/cli/src/args.rs b/tvix/cli/src/args.rs
index ebb3c0dc107e..a4d1bcae157e 100644
--- a/tvix/cli/src/args.rs
+++ b/tvix/cli/src/args.rs
@@ -2,6 +2,7 @@ use std::path::PathBuf;
 
 use clap::Parser;
 use tracing::Level;
+use tvix_store::utils::ServiceUrlsMemory;
 
 #[derive(Parser, Clone)]
 pub struct Args {
@@ -58,14 +59,8 @@ pub struct Args {
     #[clap(long)]
     pub strict: bool,
 
-    #[arg(long, env, default_value = "memory://")]
-    pub blob_service_addr: String,
-
-    #[arg(long, env, default_value = "memory://")]
-    pub directory_service_addr: String,
-
-    #[arg(long, env, default_value = "memory://")]
-    pub path_info_service_addr: String,
+    #[clap(flatten)]
+    pub service_addrs: ServiceUrlsMemory,
 
     #[arg(long, env, default_value = "dummy://")]
     pub build_service_addr: String,
diff --git a/tvix/cli/src/lib.rs b/tvix/cli/src/lib.rs
index 070e88e358f2..7686cc2c0fe8 100644
--- a/tvix/cli/src/lib.rs
+++ b/tvix/cli/src/lib.rs
@@ -27,19 +27,9 @@ pub use repl::Repl;
 pub fn init_io_handle(tokio_runtime: &tokio::runtime::Runtime, args: &Args) -> Rc<TvixStoreIO> {
     let (blob_service, directory_service, path_info_service, nar_calculation_service) =
         tokio_runtime
-            .block_on({
-                let blob_service_addr = args.blob_service_addr.clone();
-                let directory_service_addr = args.directory_service_addr.clone();
-                let path_info_service_addr = args.path_info_service_addr.clone();
-                async move {
-                    tvix_store::utils::construct_services(
-                        blob_service_addr,
-                        directory_service_addr,
-                        path_info_service_addr,
-                    )
-                    .await
-                }
-            })
+            .block_on(tvix_store::utils::construct_services(
+                args.service_addrs.clone(),
+            ))
             .expect("unable to setup {blob|directory|pathinfo}service before interpreter setup");
 
     let build_service = tokio_runtime