From 3db43eacf8e90bc74fe0618b88f8e0326f98020c Mon Sep 17 00:00:00 2001 From: Jiangzhou He Date: Fri, 7 Nov 2025 08:08:50 -0800 Subject: [PATCH] feat(healthz): expose a `/healthz` for CocoIndex server --- src/server.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/server.rs b/src/server.rs index f60efe3b..8bffe14e 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,6 +1,7 @@ use crate::prelude::*; use crate::{lib_context::LibContext, service}; +use axum::response::Json; use axum::{Router, routing}; use tower::ServiceBuilder; use tower_http::{ @@ -37,6 +38,7 @@ pub async fn init_server( .allow_headers([axum::http::header::CONTENT_TYPE]); } let app = Router::new() + .route("/healthz", routing::get(healthz)) .route( "/cocoindex", routing::get(|| async { "CocoIndex is running!" }), @@ -92,3 +94,10 @@ pub async fn init_server( let serve_fut = async { axum::serve(listener, app).await.unwrap() }; Ok(serve_fut.boxed()) } + +async fn healthz() -> Json { + Json(serde_json::json!({ + "status": "ok", + "version": env!("CARGO_PKG_VERSION"), + })) +}