Implement /health admin API endpoint to check node health #440

Merged
lx merged 5 commits from admin-health-api into main 2022-12-11 17:25:29 +00:00
Showing only changes of commit 533afcf4e1 - Show all commits

View file

@ -9,7 +9,6 @@ use garage_util::crdt::*;
use garage_util::data::*;
use garage_rpc::layout::*;
use garage_rpc::system::ClusterHealthStatus;
use garage_model::garage::Garage;
@ -46,13 +45,7 @@ pub async fn handle_get_cluster_status(garage: &Arc<Garage>) -> Result<Response<
pub async fn handle_get_cluster_health(garage: &Arc<Garage>) -> Result<Response<Body>, Error> {
let health = garage.system.health();
let resp_json =
serde_json::to_string_pretty(&health).map_err(garage_util::error::Error::from)?;
Ok(Response::builder()
.status(StatusCode::OK)
.header(http::header::CONTENT_TYPE, "application/json")
.body(Body::from(resp_json))?)
Ok(json_ok_response(&health)?)
}
pub async fn handle_connect_cluster_nodes(