Skip to content

Commit 4e15e25

Browse files
fix(gke): accept null values for vertex env vars (huggingface#243)
1 parent 72387e0 commit 4e15e25

File tree

3 files changed

+30
-26
lines changed

3 files changed

+30
-26
lines changed

router/src/grpc/server.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,6 +1415,7 @@ pub async fn run(
14151415
};
14161416

14171417
tracing::info!("Starting gRPC server: {}", &addr);
1418+
tracing::info!("Ready");
14181419
server.await?;
14191420

14201421
Ok(())

router/src/http/server.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1479,12 +1479,16 @@ pub async fn run(
14791479
#[cfg(feature = "google")]
14801480
{
14811481
tracing::info!("Built with `google` feature");
1482-
let env_predict_route = std::env::var("AIP_PREDICT_ROUTE")
1483-
.context("`AIP_PREDICT_ROUTE` env var must be set for Google Vertex deployments")?;
1484-
app = app.route(&env_predict_route, post(vertex_compatibility));
1485-
let env_health_route = std::env::var("AIP_HEALTH_ROUTE")
1486-
.context("`AIP_HEALTH_ROUTE` env var must be set for Google Vertex deployments")?;
1487-
app = app.route(&env_health_route, get(health));
1482+
1483+
if let Ok(env_predict_route) = std::env::var("AIP_PREDICT_ROUTE") {
1484+
tracing::info!("Serving Vertex compatible route on {env_predict_route}");
1485+
app = app.route(&env_predict_route, post(vertex_compatibility));
1486+
}
1487+
1488+
if let Ok(env_health_route) = std::env::var("AIP_HEALTH_ROUTE") {
1489+
tracing::info!("Serving Vertex compatible health route on {env_health_route}");
1490+
app = app.route(&env_health_route, get(health));
1491+
}
14881492
}
14891493
#[cfg(not(feature = "google"))]
14901494
{
@@ -1546,6 +1550,9 @@ pub async fn run(
15461550
// Run server
15471551
let listener = tokio::net::TcpListener::bind(&addr).await.unwrap();
15481552

1553+
tracing::info!("Starting HTTP server: {}", &addr);
1554+
tracing::info!("Ready");
1555+
15491556
axum::serve(listener, app)
15501557
// Wait until all requests are finished to shut down
15511558
.with_graceful_shutdown(shutdown::shutdown_signal())

router/src/lib.rs

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,11 @@ pub async fn run(
248248
std::env::var("AIP_HTTP_PORT")
249249
.ok()
250250
.and_then(|p| p.parse().ok())
251-
.context("`AIP_HTTP_PORT` env var must be set for Google Vertex deployments")?
251+
.map(|p| {
252+
tracing::info!("`AIP_HTTP_PORT` is set: overriding port {port} by port {p}");
253+
p
254+
})
255+
.unwrap_or(port)
252256
} else {
253257
port
254258
};
@@ -274,32 +278,24 @@ pub async fn run(
274278

275279
#[cfg(feature = "http")]
276280
{
277-
let server = tokio::spawn(async move {
278-
http::server::run(
279-
infer,
280-
info,
281-
addr,
282-
prom_builder,
283-
payload_limit,
284-
api_key,
285-
cors_allow_origin,
286-
)
287-
.await
288-
});
289-
tracing::info!("Ready");
290-
server.await??;
281+
http::server::run(
282+
infer,
283+
info,
284+
addr,
285+
prom_builder,
286+
payload_limit,
287+
api_key,
288+
cors_allow_origin,
289+
)
290+
.await?;
291291
}
292292

293293
#[cfg(feature = "grpc")]
294294
{
295295
// cors_allow_origin and payload_limit are not used for gRPC servers
296296
let _ = cors_allow_origin;
297297
let _ = payload_limit;
298-
let server = tokio::spawn(async move {
299-
grpc::server::run(infer, info, addr, prom_builder, api_key).await
300-
});
301-
tracing::info!("Ready");
302-
server.await??;
298+
grpc::server::run(infer, info, addr, prom_builder, api_key).await?;
303299
}
304300

305301
Ok(())

0 commit comments

Comments
 (0)