From 0e776aa4f0e69d21e8fd22a8502e7013ee8f2351 Mon Sep 17 00:00:00 2001 From: Sai Kiran Polisetty Date: Sun, 1 Mar 2026 21:11:18 +0530 Subject: [PATCH 01/11] Update --- qa/L0_vertex_ai/test.sh | 148 +++++++++++++++++++++++++++++++++++++++- src/main.cc | 12 +++- src/vertex_ai_server.cc | 12 ++-- src/vertex_ai_server.h | 6 +- 4 files changed, 168 insertions(+), 10 deletions(-) diff --git a/qa/L0_vertex_ai/test.sh b/qa/L0_vertex_ai/test.sh index 7403bf14cf..9f44d5c720 100755 --- a/qa/L0_vertex_ai/test.sh +++ b/qa/L0_vertex_ai/test.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2021-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -44,7 +44,7 @@ export CUDA_VISIBLE_DEVICES=0 RET=0 -rm -rf multi_models single_model +rm -rf multi_models single_model restricted_single_model rm -f *.log rm -f *.out @@ -68,6 +68,11 @@ mkdir multi_models && \ mkdir single_model && \ cp -r multi_models/addsub single_model/. +# Set up single-model Python repository used by restricted API regression +rm -rf restricted_single_model && mkdir -p restricted_single_model/identity_fp32/1 && \ + cp ../python_models/identity_fp32/config.pbtxt restricted_single_model/identity_fp32/ && \ + cp ../python_models/identity_fp32/model.py restricted_single_model/identity_fp32/1/ + # Use Vertex AI's health endpoint to check server status # Wait until server health endpoint shows ready. Sets WAIT_RET to 0 on # success, 1 on failure @@ -714,6 +719,145 @@ set -e kill $SERVER_PID wait $SERVE_PID +# +# Restricted API regression for Vertex redirect +# +unset_vertex_variables +export AIP_PREDICT_ROUTE="/predict" +export AIP_HEALTH_ROUTE="/health" + +SERVER_LOG="vertex_restricted_api_testing_server.log" +SERVER_ARGS="--allow-vertex-ai=true --model-repository=restricted_single_model --vertex-ai-default-model=identity_fp32 --http-restricted-api=metadata,model-config,model-repository,statistics,shared-memory:X-Vertex-Restricted=secret" +run_server_nowait +vertex_ai_wait_for_server_ready $SERVER_PID 10 +if [ "$WAIT_RET" != "0" ]; then + echo -e "\n***\n*** Failed to start $SERVER\n***" + kill $SERVER_PID + wait $SERVER_PID + cat $SERVER_LOG + exit 1 +fi + +# Baseline infer remains available without restricted header +rm -f ./curl.out +set +e +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "Content-Type: application/json" -d'{"inputs":[{"name":"INPUT0","datatype":"FP32","shape":[1,1],"data":[42.0]}],"outputs":[{"name":"OUTPUT0"}]}' localhost:8080/predict` +if [ "$code" != "200" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected /predict inference succeeds without restricted header\n***" + RET=1 +else + grep "OUTPUT0" ./curl.out + if [ $? -ne 0 ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected inference output is returned\n***" + RET=1 + fi +fi +set -e + +# Redirected management APIs should be blocked without restricted header +rm -f ./curl.out +set +e +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2" localhost:8080/predict` +if [ "$code" != "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected /v2 metadata is restricted\n***" + RET=1 +else + grep "This API is restricted" ./curl.out + if [ $? -ne 0 ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected restriction error message\n***" + RET=1 + fi +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/models/identity_fp32/config" localhost:8080/predict` +if [ "$code" != "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected model config is restricted\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/repository/index" localhost:8080/predict` +if [ "$code" != "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected repository index is restricted\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/status" localhost:8080/predict` +if [ "$code" != "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected system shared memory status is restricted\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/cudasharedmemory/status" localhost:8080/predict` +if [ "$code" != "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected CUDA shared memory status is restricted\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/region/test/register" -H "Content-Type: application/json" -d '{"key":"test_shm","byte_size":1024}' localhost:8080/predict` +if [ "$code" != "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected shared memory register operation is restricted\n***" + RET=1 +fi +set -e + +# Restricted header should allow handler invocation +rm -f ./curl.out +set +e +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2" -H "X-Vertex-Restricted: secret" localhost:8080/predict` +if [ "$code" != "200" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected /v2 metadata passes with restricted header\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/status" -H "X-Vertex-Restricted: secret" localhost:8080/predict` +if [ "$code" != "200" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected shared memory status passes with restricted header\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/cudasharedmemory/status" -H "X-Vertex-Restricted: secret" localhost:8080/predict` +if [ "$code" != "200" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected CUDA shared memory status passes with restricted header\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/models/identity_fp32/config" -H "X-Vertex-Restricted: secret" localhost:8080/predict` +if [ "$code" != "200" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected model config passes with restricted header\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/repository/index" -H "X-Vertex-Restricted: secret" localhost:8080/predict` +if [ "$code" != "200" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected repository index passes with restricted header\n***" + RET=1 +fi + +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/region/test/register" -H "X-Vertex-Restricted: secret" -H "Content-Type: application/json" -d '{"key":"test_shm","byte_size":1024}' localhost:8080/predict` +if [ "$code" == "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Restricted header should allow shared memory register handler to be reached\n***" + RET=1 +fi +set -e + +kill $SERVER_PID +wait $SERVE_PID + if [ $RET -eq 0 ]; then echo -e "\n***\n*** Test Passed\n***" else diff --git a/src/main.cc b/src/main.cc index 6be2ff5e58..3a11f33aa2 100644 --- a/src/main.cc +++ b/src/main.cc @@ -1,4 +1,4 @@ -// Copyright 2018-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// Copyright 2018-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -204,10 +204,18 @@ StartVertexAiService( triton::server::TraceManager* trace_manager, const std::shared_ptr& shm_manager) { + size_t max_input_size = HTTP_DEFAULT_MAX_INPUT_SIZE; + triton::server::RestrictedFeatures restricted_apis{}; +#ifdef TRITON_ENABLE_HTTP + max_input_size = g_triton_params.http_max_input_size_; + restricted_apis = g_triton_params.http_restricted_apis_; +#endif // TRITON_ENABLE_HTTP + TRITONSERVER_Error* err = triton::server::VertexAiAPIServer::Create( server, trace_manager, shm_manager, g_triton_params.vertex_ai_port_, g_triton_params.vertex_ai_address_, g_triton_params.vertex_ai_thread_cnt_, - g_triton_params.vertex_ai_default_model_, service); + max_input_size, restricted_apis, g_triton_params.vertex_ai_default_model_, + service); if (err == nullptr) { err = (*service)->Start(); } diff --git a/src/vertex_ai_server.cc b/src/vertex_ai_server.cc index a7792d9c1b..9bfbe9033d 100644 --- a/src/vertex_ai_server.cc +++ b/src/vertex_ai_server.cc @@ -1,4 +1,4 @@ -// Copyright 2021-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// Copyright 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -42,10 +42,12 @@ VertexAiAPIServer::VertexAiAPIServer( const std::shared_ptr& shm_manager, const int32_t port, const std::string address, const int thread_cnt, const std::string& prediction_route, const std::string& health_route, - const std::string& default_model_name) + const std::string& default_model_name, const size_t max_input_size, + const RestrictedFeatures& restricted_apis) : HTTPAPIServer( server, trace_manager, shm_manager, port, false /* reuse_port */, - address, "" /* header_forward_pattern */, thread_cnt), + address, "" /* header_forward_pattern */, thread_cnt, max_input_size, + restricted_apis), prediction_regex_(prediction_route), health_regex_(health_route), health_mode_("ready"), model_name_(default_model_name), model_version_str_("") @@ -269,6 +271,7 @@ VertexAiAPIServer::Create( triton::server::TraceManager* trace_manager, const std::shared_ptr& shm_manager, const int32_t port, const std::string address, const int thread_cnt, + const size_t max_input_size, const RestrictedFeatures& restricted_apis, std::string default_model_name, std::unique_ptr* http_server) { auto predict_route = GetEnvironmentVariableOrDefault("AIP_PREDICT_ROUTE", ""); @@ -344,7 +347,8 @@ VertexAiAPIServer::Create( http_server->reset(new VertexAiAPIServer( server, trace_manager, shm_manager, port, address, thread_cnt, - predict_route, health_route, default_model_name)); + predict_route, health_route, default_model_name, max_input_size, + restricted_apis)); const std::string addr = address + ":" + std::to_string(port); LOG_INFO << "Started Vertex AI HTTPService at " << addr; diff --git a/src/vertex_ai_server.h b/src/vertex_ai_server.h index 13fb62675a..3221c5ccd6 100644 --- a/src/vertex_ai_server.h +++ b/src/vertex_ai_server.h @@ -1,4 +1,4 @@ -// Copyright 2021-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// Copyright 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -37,6 +37,7 @@ class VertexAiAPIServer : public HTTPAPIServer { triton::server::TraceManager* trace_manager, const std::shared_ptr& smb_manager, const int32_t port, const std::string address, const int thread_cnt, + const size_t max_input_size, const RestrictedFeatures& restricted_apis, std::string default_model_name, std::unique_ptr* vertex_ai_server); @@ -47,7 +48,8 @@ class VertexAiAPIServer : public HTTPAPIServer { const std::shared_ptr& shm_manager, const int32_t port, const std::string address, const int thread_cnt, const std::string& prediction_route, const std::string& health_route, - const std::string& default_model_name); + const std::string& default_model_name, const size_t max_input_size, + const RestrictedFeatures& restricted_apis); void Handle(evhtp_request_t* req) override; From 12f52efcd85bcefa6cfe64457b0f655d4d03074b Mon Sep 17 00:00:00 2001 From: Sai Kiran Polisetty Date: Sun, 1 Mar 2026 21:14:14 +0530 Subject: [PATCH 02/11] Update --- qa/L0_vertex_ai/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa/L0_vertex_ai/test.sh b/qa/L0_vertex_ai/test.sh index 9f44d5c720..c9375247a0 100755 --- a/qa/L0_vertex_ai/test.sh +++ b/qa/L0_vertex_ai/test.sh @@ -69,7 +69,7 @@ mkdir single_model && \ cp -r multi_models/addsub single_model/. # Set up single-model Python repository used by restricted API regression -rm -rf restricted_single_model && mkdir -p restricted_single_model/identity_fp32/1 && \ +mkdir -p restricted_single_model/identity_fp32/1 && \ cp ../python_models/identity_fp32/config.pbtxt restricted_single_model/identity_fp32/ && \ cp ../python_models/identity_fp32/model.py restricted_single_model/identity_fp32/1/ From cfa7599e1f0d610d6ed96fce3b56a02b0985c01f Mon Sep 17 00:00:00 2001 From: Sai Kiran Polisetty Date: Mon, 2 Mar 2026 14:14:48 +0530 Subject: [PATCH 03/11] Update --- src/main.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cc b/src/main.cc index 3a11f33aa2..52d240ab57 100644 --- a/src/main.cc +++ b/src/main.cc @@ -204,7 +204,7 @@ StartVertexAiService( triton::server::TraceManager* trace_manager, const std::shared_ptr& shm_manager) { - size_t max_input_size = HTTP_DEFAULT_MAX_INPUT_SIZE; + size_t max_input_size = triton::server::HTTP_DEFAULT_MAX_INPUT_SIZE; triton::server::RestrictedFeatures restricted_apis{}; #ifdef TRITON_ENABLE_HTTP max_input_size = g_triton_params.http_max_input_size_; From b1ff17ac72a0f0587d2dad551e165c2ca07c2a43 Mon Sep 17 00:00:00 2001 From: Sai Kiran Polisetty Date: Mon, 2 Mar 2026 16:43:11 +0530 Subject: [PATCH 04/11] Update --- qa/L0_vertex_ai/test.sh | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/qa/L0_vertex_ai/test.sh b/qa/L0_vertex_ai/test.sh index c9375247a0..85b8233251 100755 --- a/qa/L0_vertex_ai/test.sh +++ b/qa/L0_vertex_ai/test.sh @@ -739,8 +739,8 @@ if [ "$WAIT_RET" != "0" ]; then fi # Baseline infer remains available without restricted header -rm -f ./curl.out set +e +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "Content-Type: application/json" -d'{"inputs":[{"name":"INPUT0","datatype":"FP32","shape":[1,1],"data":[42.0]}],"outputs":[{"name":"OUTPUT0"}]}' localhost:8080/predict` if [ "$code" != "200" ]; then cat ./curl.out @@ -757,8 +757,8 @@ fi set -e # Redirected management APIs should be blocked without restricted header -rm -f ./curl.out set +e +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2" localhost:8080/predict` if [ "$code" != "403" ]; then cat ./curl.out @@ -773,6 +773,7 @@ else fi fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/models/identity_fp32/config" localhost:8080/predict` if [ "$code" != "403" ]; then cat ./curl.out @@ -780,6 +781,7 @@ if [ "$code" != "403" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/repository/index" localhost:8080/predict` if [ "$code" != "403" ]; then cat ./curl.out @@ -787,6 +789,7 @@ if [ "$code" != "403" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/status" localhost:8080/predict` if [ "$code" != "403" ]; then cat ./curl.out @@ -794,6 +797,7 @@ if [ "$code" != "403" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/cudasharedmemory/status" localhost:8080/predict` if [ "$code" != "403" ]; then cat ./curl.out @@ -801,6 +805,7 @@ if [ "$code" != "403" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/region/test/register" -H "Content-Type: application/json" -d '{"key":"test_shm","byte_size":1024}' localhost:8080/predict` if [ "$code" != "403" ]; then cat ./curl.out @@ -810,8 +815,8 @@ fi set -e # Restricted header should allow handler invocation -rm -f ./curl.out set +e +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2" -H "X-Vertex-Restricted: secret" localhost:8080/predict` if [ "$code" != "200" ]; then cat ./curl.out @@ -819,6 +824,7 @@ if [ "$code" != "200" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/status" -H "X-Vertex-Restricted: secret" localhost:8080/predict` if [ "$code" != "200" ]; then cat ./curl.out @@ -826,6 +832,7 @@ if [ "$code" != "200" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/cudasharedmemory/status" -H "X-Vertex-Restricted: secret" localhost:8080/predict` if [ "$code" != "200" ]; then cat ./curl.out @@ -833,6 +840,7 @@ if [ "$code" != "200" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/models/identity_fp32/config" -H "X-Vertex-Restricted: secret" localhost:8080/predict` if [ "$code" != "200" ]; then cat ./curl.out @@ -840,6 +848,7 @@ if [ "$code" != "200" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/repository/index" -H "X-Vertex-Restricted: secret" localhost:8080/predict` if [ "$code" != "200" ]; then cat ./curl.out @@ -847,10 +856,20 @@ if [ "$code" != "200" ]; then RET=1 fi +rm -f ./curl.out code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2/systemsharedmemory/region/test/register" -H "X-Vertex-Restricted: secret" -H "Content-Type: application/json" -d '{"key":"test_shm","byte_size":1024}' localhost:8080/predict` if [ "$code" == "403" ]; then cat ./curl.out - echo -e "\n***\n*** Failed. Restricted header should allow shared memory register handler to be reached\n***" + echo -e "\n***\n*** Failed. Expected valid restricted header to pass restriction check (request may still fail for non-auth reasons)\n***" + RET=1 +fi + +# Wrong restricted header should reject the request +rm -f ./curl.out +code=`curl -s -w %{http_code} -o ./curl.out -X POST -H "X-Vertex-Ai-Triton-Redirect: v2" -H "X-Vertex-Restricted: invalid" localhost:8080/predict` +if [ "$code" != "403" ]; then + cat ./curl.out + echo -e "\n***\n*** Failed. Expected invalid restricted header value is rejected\n***" RET=1 fi set -e From 4b5301824003bc40b1e9b5218adee9a9cc2050c6 Mon Sep 17 00:00:00 2001 From: Sai Kiran Polisetty Date: Mon, 2 Mar 2026 19:22:01 +0530 Subject: [PATCH 05/11] Update --- docs/customization_guide/deploy.md | 4 ++++ docs/customization_guide/inference_protocols.md | 5 +++++ src/main.cc | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/docs/customization_guide/deploy.md b/docs/customization_guide/deploy.md index 36b048da35..52e293583e 100644 --- a/docs/customization_guide/deploy.md +++ b/docs/customization_guide/deploy.md @@ -226,6 +226,10 @@ for more information. > [!Note] > Restricting access can be used to limit exposure to model > control APIs to trusted users. +> When Vertex AI endpoint support is enabled, this setting also +> applies to redirected Vertex AI requests. +> If Triton is built without `TRITON_ENABLE_HTTP`, Vertex AI uses +> default unrestricted API settings. ##### `--allow-sagemaker default False` diff --git a/docs/customization_guide/inference_protocols.md b/docs/customization_guide/inference_protocols.md index af4179576f..c5c11399a5 100644 --- a/docs/customization_guide/inference_protocols.md +++ b/docs/customization_guide/inference_protocols.md @@ -163,6 +163,11 @@ protocol group (GRPC) or restricted API group (HTTP): --http-restricted-api=,API_2>,...:= ``` +When Vertex AI endpoint support is enabled, `--http-restricted-api` +also applies to redirected Vertex AI requests. +If Triton is built without `TRITON_ENABLE_HTTP`, Vertex AI falls back +to default unrestricted API settings. + The option can be specified multiple times to specifies multiple groups of protocols or APIs with different restriction settings. diff --git a/src/main.cc b/src/main.cc index 52d240ab57..90264b1a8b 100644 --- a/src/main.cc +++ b/src/main.cc @@ -207,6 +207,11 @@ StartVertexAiService( size_t max_input_size = triton::server::HTTP_DEFAULT_MAX_INPUT_SIZE; triton::server::RestrictedFeatures restricted_apis{}; #ifdef TRITON_ENABLE_HTTP + // Reuse HTTP server settings for Vertex AI endpoint behavior. In + // particular, --http-restricted-api and --http-max-input-size also apply + // to Vertex AI requests. Without TRITON_ENABLE_HTTP, Vertex AI falls back to + // default input size and unrestricted APIs (no command-line configuration for + // restricted APIs). max_input_size = g_triton_params.http_max_input_size_; restricted_apis = g_triton_params.http_restricted_apis_; #endif // TRITON_ENABLE_HTTP From 35eb9428565c09323762fb6951f47b06b3a6d385 Mon Sep 17 00:00:00 2001 From: Sai Kiran Polisetty Date: Mon, 2 Mar 2026 19:23:37 +0530 Subject: [PATCH 06/11] Update --- docs/customization_guide/deploy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/customization_guide/deploy.md b/docs/customization_guide/deploy.md index 52e293583e..2a305de5d3 100644 --- a/docs/customization_guide/deploy.md +++ b/docs/customization_guide/deploy.md @@ -1,5 +1,5 @@