about summary refs log tree commit diff
path: root/tvix/store/src/main.rs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-02-27T16·47+0100
committerflokli <flokli@flokli.de>2023-03-10T10·58+0000
commit6f6ddccc92e539c800c705987f7e628e66eed0a3 (patch)
tree45cc3259d33c1bddc95f3cfc98f238a3279e5add /tvix/store/src/main.rs
parentb4a89461f574647b7b0656c7b37107c767ad5a0c (diff)
refactor(tvix/store): move entrypoint to src/bin/tvix-store.rs r/5936
Change-Id: Ibb83be75a2be27debd9e85b43c1b824f59e54dab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8165
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Diffstat (limited to 'tvix/store/src/main.rs')
-rw-r--r--tvix/store/src/main.rs107
1 files changed, 0 insertions, 107 deletions
diff --git a/tvix/store/src/main.rs b/tvix/store/src/main.rs
deleted file mode 100644
index 6c3b44eec7..0000000000
--- a/tvix/store/src/main.rs
+++ /dev/null
@@ -1,107 +0,0 @@
-use tracing_subscriber::prelude::*;
-use tvix_store::blobservice::SledBlobService;
-use tvix_store::chunkservice::SledChunkService;
-use tvix_store::directoryservice::SledDirectoryService;
-use tvix_store::nar::NonCachingNARCalculationService;
-use tvix_store::pathinfoservice::SledPathInfoService;
-use tvix_store::proto::blob_service_server::BlobServiceServer;
-use tvix_store::proto::directory_service_server::DirectoryServiceServer;
-use tvix_store::proto::path_info_service_server::PathInfoServiceServer;
-use tvix_store::proto::GRPCBlobServiceWrapper;
-use tvix_store::proto::GRPCDirectoryServiceWrapper;
-use tvix_store::proto::GRPCPathInfoServiceWrapper;
-
-#[cfg(feature = "reflection")]
-use tvix_store::proto::FILE_DESCRIPTOR_SET;
-
-use clap::Parser;
-use tonic::{transport::Server, Result};
-use tracing::{info, Level};
-
-#[derive(Parser)]
-#[command(author, version, about, long_about = None)]
-struct Cli {
-    #[clap(long, short = 'l')]
-    listen_address: Option<String>,
-
-    /// Whether to log in JSON
-    #[clap(long)]
-    json: bool,
-
-    #[clap(long)]
-    log_level: Option<Level>,
-}
-
-#[tokio::main]
-async fn main() -> Result<(), Box<dyn std::error::Error>> {
-    let cli = Cli::parse();
-    let listen_address = cli
-        .listen_address
-        .unwrap_or_else(|| "[::]:8000".to_string())
-        .parse()
-        .unwrap();
-
-    let level = cli.log_level.unwrap_or(Level::INFO);
-
-    let subscriber = tracing_subscriber::registry()
-        .with(if cli.json {
-            Some(
-                tracing_subscriber::fmt::Layer::new()
-                    .with_writer(std::io::stdout.with_max_level(level))
-                    .json(),
-            )
-        } else {
-            None
-        })
-        .with(if !cli.json {
-            Some(
-                tracing_subscriber::fmt::Layer::new()
-                    .with_writer(std::io::stdout.with_max_level(level))
-                    .pretty(),
-            )
-        } else {
-            None
-        });
-
-    tracing::subscriber::set_global_default(subscriber).expect("Unable to set global subscriber");
-
-    let mut server = Server::builder();
-
-    let blob_service = SledBlobService::new("blobs.sled".into())?;
-    let chunk_service = SledChunkService::new("chunks.sled".into())?;
-    let directory_service = SledDirectoryService::new("directories.sled".into())?;
-    let path_info_service = SledPathInfoService::new("pathinfo.sled".into())?;
-
-    let nar_calculation_service = NonCachingNARCalculationService::new(
-        blob_service.clone(),
-        chunk_service.clone(),
-        directory_service.clone(),
-    );
-
-    let mut router = server
-        .add_service(BlobServiceServer::new(GRPCBlobServiceWrapper::new(
-            blob_service,
-            chunk_service,
-        )))
-        .add_service(DirectoryServiceServer::new(
-            GRPCDirectoryServiceWrapper::from(directory_service),
-        ))
-        .add_service(PathInfoServiceServer::new(GRPCPathInfoServiceWrapper::new(
-            path_info_service,
-            nar_calculation_service,
-        )));
-
-    #[cfg(feature = "reflection")]
-    {
-        let reflection_svc = tonic_reflection::server::Builder::configure()
-            .register_encoded_file_descriptor_set(FILE_DESCRIPTOR_SET)
-            .build()?;
-        router = router.add_service(reflection_svc);
-    }
-
-    info!("tvix-store listening on {}", listen_address);
-
-    router.serve(listen_address).await?;
-
-    Ok(())
-}