NFS Module完成
This commit is contained in:
39
markbase-nfs/src/main.rs
Normal file
39
markbase-nfs/src/main.rs
Normal file
@@ -0,0 +1,39 @@
|
||||
use clap::Parser;
|
||||
use markbase_nfs::nfs::run_nfs_server;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[derive(Parser)]
|
||||
#[command(name = "markbase-nfs")]
|
||||
#[command(about = "MarkBase NFS Server", long_about = None)]
|
||||
struct Cli {
|
||||
/// User ID (database name)
|
||||
#[arg(short, long)]
|
||||
user: String,
|
||||
|
||||
/// Database path
|
||||
#[arg(short, long, default_value = "data/users")]
|
||||
data_dir: String,
|
||||
|
||||
/// NFS server port
|
||||
#[arg(short, long, default_value_t = 11111)]
|
||||
port: u16,
|
||||
}
|
||||
|
||||
fn main() -> anyhow::Result<()> {
|
||||
let cli = Cli::parse();
|
||||
|
||||
let db_path = PathBuf::from(&cli.data_dir).join(format!("{}.sqlite", cli.user));
|
||||
|
||||
if !db_path.exists() {
|
||||
eprintln!("Database not found: {}", db_path.display());
|
||||
eprintln!("Please create database first using markbase-core");
|
||||
return Err(anyhow::anyhow!("Database not found"));
|
||||
}
|
||||
|
||||
eprintln!("Starting MarkBase NFS server...");
|
||||
eprintln!("User: {}", cli.user);
|
||||
eprintln!("Database: {}", db_path.display());
|
||||
eprintln!("Port: {}", cli.port);
|
||||
|
||||
run_nfs_server(cli.user, db_path, cli.port)
|
||||
}
|
||||
Reference in New Issue
Block a user