diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-11 13:00:50 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-11 13:00:50 -0600 |
| commit | 7659e433eb73e1f33ddac49537bfa5dfaa124875 (patch) | |
| tree | d6c90f4c82b02ded848531c0a08124f1551fd957 /src/bin/cli.rs | |
| parent | ef572ae666732e87a35417710669ce88233a754a (diff) | |
refactor: merge the server and cli into a single binary
Diffstat (limited to 'src/bin/cli.rs')
| -rw-r--r-- | src/bin/cli.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/bin/cli.rs b/src/bin/cli.rs index fc70ae82..7b18cc3b 100644 --- a/src/bin/cli.rs +++ b/src/bin/cli.rs @@ -38,6 +38,11 @@ enum Commands { )] host: String, }, + Server { + /// Address to bind to + #[arg(short, long, env = "BIND_ADDR")] + addr: String, + }, } #[tokio::main] @@ -63,6 +68,24 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { output ); } + Commands::Server { addr } => { + tracing_subscriber::fmt() + .json() + .with_max_level(tracing::Level::INFO) + .with_current_span(true) + .with_span_list(true) + .with_target(true) + .with_thread_ids(true) + .with_thread_names(true) + .with_file(true) + .with_line_number(true) + .init(); + + tracing::info!(address = %addr, "Starting authorization server"); + let cedar = authzd::authorization::CedarAuthorizer::default(); + let server = authzd::authorization::Server::new(cedar)?; + server.serve(addr.parse().unwrap()).await?; + } } Ok(()) |
