feat(tvix/store): add grpc healthcheck service to daemon
Change-Id: Ib95fc9352a45d54f9a16c8841c7e8f7cbeeaee8c Reviewed-on: https://cl.tvl.fyi/c/depot/+/12019 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: yuka <yuka@yuka.dev>
This commit is contained in:
parent
39c8b6dece
commit
2547ff2cf6
4 changed files with 71 additions and 0 deletions
14
tvix/Cargo.lock
generated
14
tvix/Cargo.lock
generated
|
@ -4526,6 +4526,19 @@ dependencies = [
|
||||||
"syn 2.0.48",
|
"syn 2.0.48",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tonic-health"
|
||||||
|
version = "0.12.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e1e10e6a96ee08b6ce443487d4368442d328d0e746f3681f81127f7dc41b4955"
|
||||||
|
dependencies = [
|
||||||
|
"async-stream",
|
||||||
|
"prost 0.13.1",
|
||||||
|
"tokio",
|
||||||
|
"tokio-stream",
|
||||||
|
"tonic 0.12.1",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tonic-reflection"
|
name = "tonic-reflection"
|
||||||
version = "0.12.1"
|
version = "0.12.1"
|
||||||
|
@ -5001,6 +5014,7 @@ dependencies = [
|
||||||
"toml 0.8.15",
|
"toml 0.8.15",
|
||||||
"tonic 0.12.1",
|
"tonic 0.12.1",
|
||||||
"tonic-build 0.12.1",
|
"tonic-build 0.12.1",
|
||||||
|
"tonic-health",
|
||||||
"tonic-reflection",
|
"tonic-reflection",
|
||||||
"tower",
|
"tower",
|
||||||
"tower-http",
|
"tower-http",
|
||||||
|
|
|
@ -14489,6 +14489,54 @@ rec {
|
||||||
};
|
};
|
||||||
resolvedDefaultFeatures = [ "default" "prost" "prost-build" "transport" ];
|
resolvedDefaultFeatures = [ "default" "prost" "prost-build" "transport" ];
|
||||||
};
|
};
|
||||||
|
"tonic-health" = rec {
|
||||||
|
crateName = "tonic-health";
|
||||||
|
version = "0.12.1";
|
||||||
|
edition = "2021";
|
||||||
|
sha256 = "0ma93g27szqjh4gniws6wz82ils2hhvd91rl8k7bc27fjrm0xqg1";
|
||||||
|
authors = [
|
||||||
|
"James Nugent <james@jen20.com>"
|
||||||
|
];
|
||||||
|
dependencies = [
|
||||||
|
{
|
||||||
|
name = "async-stream";
|
||||||
|
packageId = "async-stream";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "prost";
|
||||||
|
packageId = "prost 0.13.1";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "tokio";
|
||||||
|
packageId = "tokio";
|
||||||
|
features = [ "sync" ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "tokio-stream";
|
||||||
|
packageId = "tokio-stream";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "tonic";
|
||||||
|
packageId = "tonic 0.12.1";
|
||||||
|
usesDefaultFeatures = false;
|
||||||
|
features = [ "codegen" "prost" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
devDependencies = [
|
||||||
|
{
|
||||||
|
name = "tokio";
|
||||||
|
packageId = "tokio";
|
||||||
|
features = [ "rt-multi-thread" "macros" ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "tokio-stream";
|
||||||
|
packageId = "tokio-stream";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
features = {
|
||||||
|
"default" = [ "transport" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
"tonic-reflection" = rec {
|
"tonic-reflection" = rec {
|
||||||
crateName = "tonic-reflection";
|
crateName = "tonic-reflection";
|
||||||
version = "0.12.1";
|
version = "0.12.1";
|
||||||
|
@ -16427,6 +16475,11 @@ rec {
|
||||||
packageId = "tonic 0.12.1";
|
packageId = "tonic 0.12.1";
|
||||||
features = [ "tls" "tls-roots" ];
|
features = [ "tls" "tls-roots" ];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "tonic-health";
|
||||||
|
packageId = "tonic-health";
|
||||||
|
usesDefaultFeatures = false;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "tonic-reflection";
|
name = "tonic-reflection";
|
||||||
packageId = "tonic-reflection";
|
packageId = "tonic-reflection";
|
||||||
|
|
|
@ -44,6 +44,7 @@ tracing = "0.1.40"
|
||||||
tracing-indicatif = "0.3.6"
|
tracing-indicatif = "0.3.6"
|
||||||
hyper-util = "0.1.6"
|
hyper-util = "0.1.6"
|
||||||
toml = { version = "0.8.15", optional = true }
|
toml = { version = "0.8.15", optional = true }
|
||||||
|
tonic-health = { version = "0.12.1", default-features = false }
|
||||||
|
|
||||||
[dependencies.tonic-reflection]
|
[dependencies.tonic-reflection]
|
||||||
optional = true
|
optional = true
|
||||||
|
|
|
@ -178,8 +178,11 @@ async fn run_cli(cli: Cli) -> Result<(), Box<dyn std::error::Error + Send + Sync
|
||||||
.map_request(tvix_tracing::propagate::tonic::accept_trace),
|
.map_request(tvix_tracing::propagate::tonic::accept_trace),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let (_health_reporter, health_service) = tonic_health::server::health_reporter();
|
||||||
|
|
||||||
#[allow(unused_mut)]
|
#[allow(unused_mut)]
|
||||||
let mut router = server
|
let mut router = server
|
||||||
|
.add_service(health_service)
|
||||||
.add_service(BlobServiceServer::new(GRPCBlobServiceWrapper::new(
|
.add_service(BlobServiceServer::new(GRPCBlobServiceWrapper::new(
|
||||||
blob_service,
|
blob_service,
|
||||||
)))
|
)))
|
||||||
|
|
Loading…
Reference in a new issue