microsandbox_cli/args/
msbserver.rs

1use std::path::PathBuf;
2
3use clap::Parser;
4use microsandbox_utils::{DEFAULT_SERVER_HOST, DEFAULT_SERVER_PORT};
5
6use crate::styles;
7
8//--------------------------------------------------------------------------------------------------
9// Types
10//--------------------------------------------------------------------------------------------------
11
12/// Arguments for the msbserver command
13#[derive(Debug, Parser)]
14#[command(name = "msbserver", author, styles=styles::styles())]
15pub struct MsbserverArgs {
16    /// Secret key used for JWT token generation and validation
17    #[arg(short = 'k', long = "key")]
18    pub key: Option<String>,
19
20    /// Host address to listen on
21    #[arg(long, default_value = DEFAULT_SERVER_HOST)]
22    pub host: String,
23
24    /// Port number to listen on
25    #[arg(long, default_value_t = DEFAULT_SERVER_PORT)]
26    pub port: u16,
27
28    /// Directory for storing namespaces
29    #[arg(short = 'p', long = "path")]
30    pub namespace_dir: Option<PathBuf>,
31
32    /// Run in development mode
33    #[arg(long = "dev", default_value_t = false)]
34    pub dev_mode: bool,
35}