use crate::routing::route_build;
#[tracing::instrument(
name = "docker.build",
skip(state, req),
fields(uri = %uri, utility_vm = "native", translator = tracing::field::Empty),
err
)]
pub async fn build_image(
axum::extract::State(state): axum::extract::State<crate::api::AppState>,
axum::extract::OriginalUri(uri): axum::extract::OriginalUri,
req: axum::http::Request<axum::body::Body>,
) -> crate::error::Result<axum::response::Response> {
let route = route_build(&uri);
tracing::Span::current().record("translator", route.translator.as_str());
crate::handlers::require_amd64_runtime(&state, route).await?;
tracing::debug!(
backend = "hv",
translator = route.translator.as_str(),
platform = ?route.platform,
"routing Docker build request"
);
crate::handlers::proxy_upload_to_system_vm(&state, &uri, req).await
}