commit dc1f4bd19d60266e921d386e1bf14431982e85cc
parent 689b85e6f2981a3b642783b458e5d67d89269fa7
Author: Silas Brack <silas@teton.ai>
Date: Sat, 7 Mar 2026 17:26:09 +0100
Configure using environment variables
Diffstat:
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
@@ -10,7 +10,7 @@ rusqlite = { version = "0.35", features = ["bundled"] }
reqwest = { version = "0.12", features = ["json"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
-clap = { version = "4", features = ["derive"] }
+clap = { version = "4", features = ["derive", "env"] }
tracing = "0.1"
tracing-subscriber = "0.3"
sha2 = "0.10"
diff --git a/src/main.rs b/src/main.rs
@@ -3,13 +3,13 @@ use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "mkv", about = "Distributed key-value store")]
struct Cli {
- #[arg(short, long, default_value = "/tmp/mkv/index.db")]
+ #[arg(short, long, env = "MKV_DB", default_value = "/tmp/mkv/index.db")]
db: String,
- #[arg(short, long, required = true, value_delimiter = ',')]
+ #[arg(short, long, env = "MKV_VOLUMES", required = true, value_delimiter = ',')]
volumes: Vec<String>,
- #[arg(short, long, default_value_t = 2)]
+ #[arg(short, long, env = "MKV_REPLICAS", default_value_t = 2)]
replicas: usize,
#[command(subcommand)]
@@ -20,7 +20,7 @@ struct Cli {
enum Commands {
/// Start the index server
Serve {
- #[arg(short, long, default_value_t = 3000)]
+ #[arg(short, long, env = "MKV_PORT", default_value_t = 3000)]
port: u16,
},
/// Rebuild SQLite index from volume servers