fix(volume-rust): resolve gRPC bind address from hostname

SocketAddr::parse() only accepts numeric IPs, so binding the gRPC
server to "localhost:18833" panicked. Use tokio::net::lookup_host()
to resolve hostnames before passing to tonic's serve_with_shutdown.
This commit is contained in:
Chris Lu
2026-04-02 18:36:41 -07:00
parent 0d8b024911
commit bb23939b36

View File

@@ -606,7 +606,11 @@ async fn run(
let grpc_tls_acceptor = grpc_tls_acceptor.clone();
let mut shutdown_rx = shutdown_tx.subscribe();
tokio::spawn(async move {
let addr = grpc_addr.parse().expect("Invalid gRPC address");
let addr = tokio::net::lookup_host(&grpc_addr)
.await
.expect("Failed to resolve gRPC address")
.next()
.expect("No addresses found for gRPC bind address");
let grpc_service = VolumeGrpcService {
state: grpc_state.clone(),
};