brainworm2024 commited on
Commit
dcb7e13
·
1 Parent(s): ac4ea8b

Add health check endpoint and fix port

Browse files
Files changed (2) hide show
  1. Dockerfile +1 -0
  2. src/main.rs +8 -6
Dockerfile CHANGED
@@ -12,4 +12,5 @@ RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/
12
  COPY --from=builder /app/target/release/rustvital-amd /usr/local/bin/rustvital-amd
13
  EXPOSE 7860
14
  ENV RUST_LOG=info
 
15
  CMD ["rustvital-amd"]
 
12
  COPY --from=builder /app/target/release/rustvital-amd /usr/local/bin/rustvital-amd
13
  EXPOSE 7860
14
  ENV RUST_LOG=info
15
+ ENV PORT=7860
16
  CMD ["rustvital-amd"]
src/main.rs CHANGED
@@ -1,27 +1,29 @@
1
- use axum::{routing::post, Router};
2
  use tower_http::trace::TraceLayer;
3
  use tracing_subscriber::EnvFilter;
4
 
5
- // Use the library crate to get the handler
6
  use rustvital_amd::handlers;
7
 
8
  #[tokio::main]
9
  async fn main() -> anyhow::Result<()> {
10
- // Load .env file (ignore if missing)
11
  dotenvy::dotenv().ok();
12
 
13
- // Initialise tracing (respects RUST_LOG from env)
14
  tracing_subscriber::fmt()
15
  .with_env_filter(EnvFilter::from_default_env().add_directive("rustvital_amd=debug".parse()?))
16
  .init();
17
 
18
- tracing::info!("Starting RustVital-AMD server");
 
 
 
19
 
20
  let app = Router::new()
 
 
21
  .route("/triage", post(handlers::triage::handle))
22
  .layer(TraceLayer::new_for_http());
23
 
24
- let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await?;
25
  axum::serve(listener, app).await?;
26
  Ok(())
27
  }
 
1
+ use axum::{routing::{get, post}, Router};
2
  use tower_http::trace::TraceLayer;
3
  use tracing_subscriber::EnvFilter;
4
 
 
5
  use rustvital_amd::handlers;
6
 
7
  #[tokio::main]
8
  async fn main() -> anyhow::Result<()> {
 
9
  dotenvy::dotenv().ok();
10
 
 
11
  tracing_subscriber::fmt()
12
  .with_env_filter(EnvFilter::from_default_env().add_directive("rustvital_amd=debug".parse()?))
13
  .init();
14
 
15
+ let port = std::env::var("PORT").unwrap_or_else(|_| "3000".to_string());
16
+ let addr = format!("0.0.0.0:{}", port);
17
+
18
+ tracing::info!("Starting RustVital-AMD server on {}", addr);
19
 
20
  let app = Router::new()
21
+ .route("/", get(|| async { "RustVital-AMD is running" }))
22
+ .route("/health", get(|| async { "healthy" }))
23
  .route("/triage", post(handlers::triage::handle))
24
  .layer(TraceLayer::new_for_http());
25
 
26
+ let listener = tokio::net::TcpListener::bind(&addr).await?;
27
  axum::serve(listener, app).await?;
28
  Ok(())
29
  }