use clap::Parser;
use tracing_subscriber::{fmt, layer::SubscriberExt, util::SubscriberInitExt, EnvFilter};
use cedros_admin::{run, Config};
#[derive(Debug, Parser)]
#[command(name = "cedros-admin-server")]
#[command(about = "Standalone shell for Cedros admin composition")]
struct Cli {
#[arg(long)]
bind_addr: Option<String>,
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
init_tracing();
let cli = Cli::parse();
let mut config = Config::from_env();
if let Some(bind_addr) = cli.bind_addr {
config.bind_addr = bind_addr;
}
run(config).await
}
fn init_tracing() {
let env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
tracing_subscriber::registry()
.with(env_filter)
.with(fmt::layer().with_target(false))
.init();
}