NVIDIA
NVIDIA
NVIDIA NVIngest Microservice
Helm Chart
NVIDIA
NVIDIA
NVIDIA NVIngest Microservice

Helm Chart for NeMo Retriever NVIngest Microservice

Join or Subscribe to get accessSubscribe to the product below to access this premium content:
NVIDIA NeMo Microservices
NVIDIA NeMo MicroservicesNeMo provides microservices that simplify the generative AI development and deployment process at scale, allowing organizations to connect LLMs to their enterprise data sources.
NVIDIA Developer Program
NVIDIA Developer ProgramJoin the Developer Program for access to free tools, support, and tech resources.
Get Access
Note: You can gain access to hundreds more GPU-optimized artifacts by creating a free NGC account.
Already Subscribed?Log in

NV-Ingest Helm Charts

This documentation contains documentation for the NV-Ingest Helm charts.

[!Note]
NV-Ingest is also known as NVIDIA Ingest and NeMo Retriever extraction.

Prerequisites

Before you install the Helm charts, be sure you meet the hardware and software prerequisites. Refer to the supported configurations.

The Nvidia nim-operator must also be installed and configured in your cluster to ensure that
the Nvidia NIMs are properly deployed.

Initial Environment Setup

  1. Create your namespace by running the following code.
NAMESPACE=nv-ingest
kubectl create namespace ${NAMESPACE}
  1. Add the Helm repos by running the following code.
# NVIDIA nemo-microservices NGC repository
helm repo add nemo-microservices https://helm.ngc.nvidia.com/nvidia/nemo-microservices --username='$oauthtoken' --password=<NGC_API_KEY>

# NVIDIA NIM NGC repository
helm repo add nvidia-nim https://helm.ngc.nvidia.com/nim/nvidia --username='$oauthtoken' --password=<NGC_API_KEY>

# NVIDIA NIM Base repository
helm repo add nim https://helm.ngc.nvidia.com/nim --username='$oauthtoken' --password=<NGC_API_KEY>

# NVIDIA NIM baidu NGC repository
helm repo add baidu-nim https://helm.ngc.nvidia.com/nim/baidu --username='$oauthtoken' --password=<YOUR API KEY>

Install or Upgrade the Helm Chart

To install or upgrade the Helm chart, run the following code.

helm upgrade \
    --install \
    nv-ingest \
    https://helm.ngc.nvidia.com/nvidia/nemo-microservices/charts/nv-ingest-26.3.0.tgz \
    -n ${NAMESPACE} \
    --username '$oauthtoken' \
    --password "${NGC_API_KEY}" \
    --set ngcImagePullSecret.create=true \
    --set ngcImagePullSecret.password="${NGC_API_KEY}" \
    --set ngcApiSecret.create=true \
    --set ngcApiSecret.password="${NGC_API_KEY}" \
    --set image.repository="nvcr.io/nvidia/nemo-microservices/nv-ingest" \
    --set image.tag="26.3.0"

Optionally you can create your own versions of the Secrets if you do not want to use the creation via the helm chart.


NAMESPACE=nv-ingest
DOCKER_CONFIG='{"auths":{"nvcr.io":{"username":"$oauthtoken", "password":"'${NGC_API_KEY}'" }}}'
echo -n $DOCKER_CONFIG | base64 -w0
NGC_REGISTRY_PASSWORD=$(echo -n $DOCKER_CONFIG | base64 -w0 )

kubectl apply -n ${NAMESPACE} -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: ngcImagePullSecret
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: ${NGC_REGISTRY_PASSWORD}
EOF
kubectl create -n ${NAMESPACE} secret generic ngc-api --from-literal=NGC_API_KEY=${NGC_API_KEY}

Alternatively, you can also use an External Secret Store like Vault, the name of the secret name expected for the NGC API is ngc-api and the secret name expected for NVCR is ngcImagePullSecret.

In this case, make sure to remove the following from your helm command:

    --set ngcImagePullSecret.create=true \
    --set ngcImagePullSecret.password="${NGC_API_KEY}" \
    --set ngcApiSecret.create=true \
    --set ngcApiSecret.password="${NGC_API_KEY}" \

Usage

Jobs are submitted via the nv-ingest-cli command.

NV-Ingest CLI Installation

NV-Ingest uses a HTTP/Rest based submission method. By default the Rest service runs on port 7670.

First, build nv-ingest-cli from the source to ensure you have the latest code.
For more information, refer to NV-Ingest-Client.

# Just to be cautious we remove any existing installation
pip uninstall nv-ingest-client

pip install nv-ingest-client==26.3.0

Rest Endpoint Ingress

It is recommended that the end user provide a mechanism for Ingress for the NV-Ingest pod.
You can test outside of your Kubernetes cluster by port-forwarding the NV-Ingest pod to your local environment.

Example:

You can find the name of your NV-Ingest pod you want to forward traffic to by running:

kubectl get pods -n <namespace> --no-headers -o custom-columns=":metadata.name"
kubectl port-forward -n ${NAMESPACE} service/nv-ingest 7670:7670

The output will look similar to the following but with different auto-generated sequences.

nv-ingest-674f6b7477-65nvm
nv-ingest-etcd-0
nv-ingest-milvus-standalone-7f8ffbdfbc-jpmlj
nv-ingest-minio-7cbd4f5b9d-99hl4
nv-ingest-opentelemetry-collector-7bb59d57fc-4h59q
nv-ingest-ocr-0
nv-ingest-redis-master-0
nv-ingest-redis-replicas-0
nv-ingest-yolox-0
nv-ingest-zipkin-77b5fc459f-ptsj6
kubectl port-forward -n ${NAMESPACE} nv-ingest-674f6b7477-65nvm 7670:7670

Enabling GPU time-slicing

Configure the NVIDIA Operator

The NVIDIA GPU operator is used to make the Kubernetes cluster aware of the GPUs.

helm install --wait --generate-name --repo https://helm.ngc.nvidia.com/nvidia \
    --namespace gpu-operator --create-namespace \
    gpu-operator --set driver.enabled=false

Once this is installed we can check the number of available GPUs. Your ouput might differ depending on the number
of GPUs on your nodes.

kubectl get nodes -o json | jq -r '.items[] | select(.metadata.name | test("-worker[0-9]*$")) | {name: .metadata.name, "nvidia.com/gpu": .status.allocatable["nvidia.com/gpu"]}'
{
  "name": "one-worker-one-gpu-worker",
  "nvidia.com/gpu": "1"
}
Enable time-slicing

With the NVIDIA GPU operator properly installed we want to enable time-slicing to allow more than one Pod to use this GPU. We do this by creating a time-slicing config file using time-slicing-config.yaml.

kubectl apply -n gpu-operator -f time-slicing/time-slicing-config.yaml

Then update the cluster policy to use this new config.

kubectl patch clusterpolicies.nvidia.com/cluster-policy \
    -n gpu-operator --type merge \
    -p '{"spec": {"devicePlugin": {"config": {"name": "time-slicing-config", "default": "any"}}}}'

Now if we check the number of GPUs available we should see 16, but note this is still just GPU 0 which we exposed to the node, just sliced into 16.

kubectl get nodes -o json | jq -r '.items[] | select(.metadata.name | test("-worker[0-9]*$")) | {name: .metadata.name, "nvidia.com/gpu": .status.allocatable["nvidia.com/gpu"]}'
{
  "name": "one-worker-one-gpu-worker",
  "nvidia.com/gpu": "16"
}

Enable NVIDIA GPU MIG

NVIDIA MIG is a technology that enables a specific GPU to be sliced into individual virtual GPUs.
This approach is considered better for production environments than time-slicing, because it isolates it process to a pre-allocated amount of compute and memory.

Use this section to learn how to enable NVIDIA GPU MIG.

Compatible GPUs

For the list of GPUs that are compatible with MIG, refer to the MIG support matrix.

Understanding GPU profiles

You can think of a GPU profile like a traditional virtual computer (vm), where each vm has a predefined set of compute and memory.

Each NVIDIA GPU has different valid profiles. To see the profiles that are available for your GPU, run the following code.

nvidia-smi mig -lgip

The complete matrix of available profiles for your GPU appears. To understand the output, refer to Supported MIG Profiles.

MIG Profile configuration

An example MIG profile for a DGX H100 can be found in mig/nv-ingest-mig-config.yaml. This profile demonstrates mixed MIG modes across different GPUs
on the DGX machine.
You should edit the file for your scenario, and include only the profiles supported by your GPU.

To install the MIG profile on the Kubernetes cluster, use the following code.

kubectl apply -n gpu-operator -f mig/nv-ingest-mig-config.yaml

After the configmap is installed, you can adjust the MIG profile to be mixed. We do this because our configuration
file specifies different profiles across the GPUs. This is not required if you are not using a mixed MIG mode.

kubectl patch clusterpolicies.nvidia.com/cluster-policy \
    --type='json' \
    -p='[{"op":"replace", "path":"/spec/mig/strategy", "value":"mixed"}]'

Patch the cluster so MIG manager uses the custom config map by using the following code.

kubectl patch clusterpolicies.nvidia.com/cluster-policy \
    --type='json' \
    -p='[{"op":"replace", "path":"/spec/migManager/config/name", "value":"nv-ingest-mig-config"}]'

Label the nodes with which MIG profile you would like for them to use by using the following code.

kubectl label nodes <node-name> nvidia.com/mig.config=single-gpu-nv-ingest --overwrite

Validate that the configuration was applied by running the following code.

kubectl logs -n gpu-operator -l app=nvidia-mig-manager -c nvidia-mig-manager

You can adjust Kubernetes request and limit resources for MIG by using a Helm values file. To use a MIG values file in conjunction with other values files, append -f mig/nv-ingest-mig-values.yaml to your Helm command. For an example Helm values file for MIG settings, refer to mig/nv-ingest-mig-config.yaml. This file is only an example, and you should adjust the values for your environment and specific needs.

Running Jobs

Here is a sample invocation of a PDF extraction task using the port forward above:

mkdir -p ./processed_docs

nv-ingest-cli \
  --doc /path/to/your/unique.pdf \
  --output_directory ./processed_docs \
  --task='extract:{"document_type": "pdf", "extract_text": true, "extract_images": true, "extract_tables": true, "extract_charts": true}' \
  --client_host=localhost \
  --client_port=7670

You can also use NV-Ingest's Python client API to interact with the service running in the cluster. Use the same host and port as in the previous nv-ingest-cli example.

Requirements

RepositoryNameVersion
https://open-telemetry.github.io/opentelemetry-helm-chartsopentelemetry-collector0.133.0
https://prometheus-community.github.io/helm-chartsprometheus27.12.1
https://zilliztech.github.io/milvus-helmmilvus4.1.11
https://zipkin.io/zipkin-helmzipkin0.4.0
oci://registry-1.docker.io/bitnamichartsredis19.1.3

Values

KeyTypeDefaultDescription
affinityobject{}
autoscaling.enabledboolfalse
autoscaling.maxReplicasint100
autoscaling.metricslist[]
autoscaling.minReplicasint1
containerArgslist[]
containerSecurityContextobject{}
envVars.ARROW_DEFAULT_MEMORY_POOLstring"system"
envVars.AUDIO_GRPC_ENDPOINTstring"audio:50051"
envVars.AUDIO_INFER_PROTOCOLstring"grpc"
envVars.COMPONENTS_TO_READY_CHECKstring"ALL"
envVars.EMBEDDING_NIM_ENDPOINTstring"http://llama-nemotron-embed-1b-v2:8000/v1"
envVars.EMBEDDING_NIM_MODEL_NAMEstring"nvidia/llama-nemotron-embed-1b-v2"
envVars.IMAGE_STORAGE_PUBLIC_BASE_URLstring""
envVars.IMAGE_STORAGE_URIstring"s3://nv-ingest/artifacts/store/images"
envVars.INGEST_DISABLE_DYNAMIC_SCALINGbooltrue
envVars.INGEST_DYNAMIC_MEMORY_THRESHOLDfloat0.8
envVars.INGEST_EDGE_BUFFER_SIZEint64
envVars.INGEST_LOG_LEVELstring"DEFAULT"
envVars.MAX_INGEST_PROCESS_WORKERSint32
envVars.MESSAGE_CLIENT_HOSTstring"nv-ingest-redis-master"
envVars.MESSAGE_CLIENT_PORTstring"6379"
envVars.MESSAGE_CLIENT_TYPEstring"redis"
envVars.MILVUS_ENDPOINTstring"http://nv-ingest-milvus:19530"
envVars.MINIO_ACCESS_KEYstring"minioadmin"
envVars.MINIO_BUCKETstring"nv-ingest"
envVars.MINIO_INTERNAL_ADDRESSstring"nv-ingest-minio:9000"
envVars.MINIO_PUBLIC_ADDRESSstring"http://localhost:9000"
envVars.MINIO_SECRET_KEYstring"minioadmin"
envVars.MODEL_PREDOWNLOAD_PATHstring"/workspace/models/"
envVars.NEMOTRON_PARSE_HTTP_ENDPOINTstring"http://nemotron-parse:8000/v1/chat/completions"
envVars.NEMOTRON_PARSE_INFER_PROTOCOLstring"http"
envVars.NEMOTRON_PARSE_MODEL_NAMEstring"nvidia/nemotron-parse"
envVars.NV_INGEST_MAX_UTILint32
envVars.OCR_GRPC_ENDPOINTstring"nemotron-ocr-v1:8001"
envVars.OCR_HTTP_ENDPOINTstring"http://nemotron-ocr-v1:8000/v1/infer"
envVars.OCR_INFER_PROTOCOLstring"grpc"
envVars.OCR_MODEL_NAMEstring"pipeline"
envVars.OMP_NUM_THREADSint1
envVars.RAY_num_grpc_threadsint1
envVars.RAY_num_server_call_threadint1
envVars.RAY_worker_num_grpc_internal_threadsint1
envVars.VLM_CAPTION_MODEL_NAMEstring"nvidia/nemotron-nano-12b-v2-vl"
envVars.YOLOX_GRAPHIC_ELEMENTS_GRPC_ENDPOINTstring"nemotron-graphic-elements-v1:8001"
envVars.YOLOX_GRAPHIC_ELEMENTS_HTTP_ENDPOINTstring"http://nemotron-graphic-elements-v1:8000/v1/infer"
envVars.YOLOX_GRAPHIC_ELEMENTS_INFER_PROTOCOLstring"grpc"
envVars.YOLOX_GRPC_ENDPOINTstring"nemotron-page-elements-v3:8001"
envVars.YOLOX_HTTP_ENDPOINTstring"http://nemotron-page-elements-v3:8000/v1/infer"
envVars.YOLOX_INFER_PROTOCOLstring"grpc"
envVars.YOLOX_PAGE_IMAGE_FORMATstring"JPEG"
envVars.YOLOX_TABLE_STRUCTURE_GRPC_ENDPOINTstring"nemotron-table-structure-v1:8001"
envVars.YOLOX_TABLE_STRUCTURE_HTTP_ENDPOINTstring"http://nemotron-table-structure-v1:8000/v1/infer"
envVars.YOLOX_TABLE_STRUCTURE_INFER_PROTOCOLstring"grpc"
extraEnvVarsCMstring""
extraEnvVarsSecretstring""
extraVolumeMountsobject{}
extraVolumesobject{}
fullnameOverridestring""
image.pullPolicystring"IfNotPresent"
image.repositorystring"nvcr.io/nvidia/nemo-microservices/nv-ingest"
image.tagstring"26.3.0"
imagePullSecrets[0].namestring"ngc-api"
imagePullSecrets[1].namestring"ngc-secret"
ingress.annotationsobject{}
ingress.classNamestring""
ingress.enabledboolfalse
ingress.hosts[0].hoststring"chart-example.local"
ingress.hosts[0].paths[0].pathstring"/"
ingress.hosts[0].paths[0].pathTypestring"ImplementationSpecific"
ingress.tlslist[]
livenessProbe.enabledboolfalse
livenessProbe.failureThresholdint20
livenessProbe.httpGet.pathstring"/v1/health/live"
livenessProbe.httpGet.portstring"http"
livenessProbe.initialDelaySecondsint120
livenessProbe.periodSecondsint10
livenessProbe.successThresholdint1
livenessProbe.timeoutSecondsint20
logLevelstring"DEFAULT"
milvus.cluster.enabledboolfalse
milvus.etcd.extraVolumeMountslist[]
milvus.etcd.extraVolumeslist[]
milvus.etcd.image.repositorystring"milvusdb/etcd"
milvus.etcd.image.tagstring"3.5.23-r2"
milvus.etcd.persistence.storageClassstringnil
milvus.etcd.replicaCountint1
milvus.image.all.repositorystring"milvusdb/milvus"
milvus.image.all.tagstring"v2.6.5-gpu"
milvus.minio.bucketNamestring"nv-ingest"
milvus.minio.enabledbooltrue
milvus.minio.image.tagstring"RELEASE.2025-09-07T16-13-09Z"
milvus.minio.modestring"standalone"
milvus.minio.persistence.sizestring"50Gi"
milvus.minio.persistence.storageClassstringnil
milvus.pulsar.enabledboolfalse
milvus.pulsarv3.enabledboolfalse
milvus.standalone.extraEnv[0].namestring"LOG_LEVEL"
milvus.standalone.extraEnv[0].valuestring"error"
milvus.standalone.persistence.persistentVolumeClaim.sizestring"50Gi"
milvus.standalone.persistence.persistentVolumeClaim.storageClassstringnil
milvus.standalone.resources.limits."nvidia.com/gpu"int1
milvusDeployedbooltrue
nameOverridestring""
nemo.groupIDstring"1000"
nemo.userIDstring"1000"
ngcApiSecret.createboolfalse
ngcApiSecret.passwordstring""
ngcImagePullSecret.createboolfalse
ngcImagePullSecret.namestring"ngcImagePullSecret"
ngcImagePullSecret.passwordstring""
ngcImagePullSecret.registrystring"nvcr.io"
ngcImagePullSecret.usernamestring"$oauthtoken"
nimOperator.audio.authSecretstring"ngc-api"
nimOperator.audio.enabledboolfalse
nimOperator.audio.env[0].namestring"NIM_TAGS_SELECTOR"
nimOperator.audio.env[0].valuestring"name=parakeet-1-1b-ctc-en-us,mode=ofl"
nimOperator.audio.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.audio.env[1].valuestring"1"
nimOperator.audio.expose.service.grpcPortint50051
nimOperator.audio.expose.service.portint9000
nimOperator.audio.expose.service.typestring"ClusterIP"
nimOperator.audio.image.pullPolicystring"IfNotPresent"
nimOperator.audio.image.pullSecrets[0]string"ngc-secret"
nimOperator.audio.image.repositorystring"nvcr.io/nim/nvidia/parakeet-1-1b-ctc-en-us"
nimOperator.audio.image.tagstring"1.5.0"
nimOperator.audio.replicasint1
nimOperator.audio.resources.limits."nvidia.com/gpu"int1
nimOperator.audio.storage.pvc.createbooltrue
nimOperator.audio.storage.pvc.sizestring"25Gi"
nimOperator.audio.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.embedqa.authSecretstring"ngc-api"
nimOperator.embedqa.enabledbooltrue
nimOperator.embedqa.env[0].namestring"NIM_HTTP_API_PORT"
nimOperator.embedqa.env[0].valuestring"8000"
nimOperator.embedqa.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.embedqa.env[1].valuestring"1"
nimOperator.embedqa.env[2].namestring"OMP_NUM_THREADS"
nimOperator.embedqa.env[2].valuestring"1"
nimOperator.embedqa.env[3].namestring"NIM_TRITON_PERFORMANCE_MODE"
nimOperator.embedqa.env[3].valuestring"throughput"
nimOperator.embedqa.expose.service.grpcPortint8001
nimOperator.embedqa.expose.service.portint8000
nimOperator.embedqa.expose.service.typestring"ClusterIP"
nimOperator.embedqa.image.pullPolicystring"IfNotPresent"
nimOperator.embedqa.image.pullSecrets[0]string"ngc-secret"
nimOperator.embedqa.image.repositorystring"nvcr.io/nim/nvidia/llama-nemotron-embed-1b-v2"
nimOperator.embedqa.image.tagstring"1.13.0"
nimOperator.embedqa.replicasint1
nimOperator.embedqa.resources.limits."nvidia.com/gpu"int1
nimOperator.embedqa.storage.pvc.createbooltrue
nimOperator.embedqa.storage.pvc.sizestring"50Gi"
nimOperator.embedqa.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.graphic_elements.authSecretstring"ngc-api"
nimOperator.graphic_elements.enabledbooltrue
nimOperator.graphic_elements.env[0].namestring"NIM_HTTP_API_PORT"
nimOperator.graphic_elements.env[0].valuestring"8000"
nimOperator.graphic_elements.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.graphic_elements.env[1].valuestring"1"
nimOperator.graphic_elements.env[2].namestring"NIM_TRITON_RATE_LIMIT"
nimOperator.graphic_elements.env[2].valuestring"3"
nimOperator.graphic_elements.env[3].namestring"NIM_TRITON_MAX_BATCH_SIZE"
nimOperator.graphic_elements.env[3].valuestring"32"
nimOperator.graphic_elements.env[4].namestring"NIM_TRITON_CUDA_MEMORY_POOL_MB"
nimOperator.graphic_elements.env[4].valuestring"2048"
nimOperator.graphic_elements.env[5].namestring"OMP_NUM_THREADS"
nimOperator.graphic_elements.env[5].valuestring"1"
nimOperator.graphic_elements.expose.service.grpcPortint8001
nimOperator.graphic_elements.expose.service.portint8000
nimOperator.graphic_elements.expose.service.typestring"ClusterIP"
nimOperator.graphic_elements.image.pullPolicystring"IfNotPresent"
nimOperator.graphic_elements.image.pullSecrets[0]string"ngc-secret"
nimOperator.graphic_elements.image.repositorystring"nvcr.io/nim/nvidia/nemotron-graphic-elements-v1"
nimOperator.graphic_elements.image.tagstring"1.8.0"
nimOperator.graphic_elements.replicasint1
nimOperator.graphic_elements.resources.limits."nvidia.com/gpu"int1
nimOperator.graphic_elements.storage.pvc.createbooltrue
nimOperator.graphic_elements.storage.pvc.sizestring"25Gi"
nimOperator.graphic_elements.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.nemotron_nano_12b_v2_vl.authSecretstring"ngc-api"
nimOperator.nemotron_nano_12b_v2_vl.enabledboolfalse
nimOperator.nemotron_nano_12b_v2_vl.env[0].namestring"NIM_HTTP_API_PORT"
nimOperator.nemotron_nano_12b_v2_vl.env[0].valuestring"8000"
nimOperator.nemotron_nano_12b_v2_vl.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.nemotron_nano_12b_v2_vl.env[1].valuestring"1"
nimOperator.nemotron_nano_12b_v2_vl.expose.service.grpcPortint8001
nimOperator.nemotron_nano_12b_v2_vl.expose.service.portint8000
nimOperator.nemotron_nano_12b_v2_vl.expose.service.typestring"ClusterIP"
nimOperator.nemotron_nano_12b_v2_vl.image.pullPolicystring"IfNotPresent"
nimOperator.nemotron_nano_12b_v2_vl.image.pullSecrets[0]string"ngc-secret"
nimOperator.nemotron_nano_12b_v2_vl.image.repositorystring"nvcr.io/nim/nvidia/nemotron-nano-12b-v2-vl"
nimOperator.nemotron_nano_12b_v2_vl.image.tagstring"1.5.0"
nimOperator.nemotron_nano_12b_v2_vl.replicasint1
nimOperator.nemotron_nano_12b_v2_vl.resources.limits."nvidia.com/gpu"int1
nimOperator.nemotron_nano_12b_v2_vl.storage.pvc.createbooltrue
nimOperator.nemotron_nano_12b_v2_vl.storage.pvc.sizestring"300Gi"
nimOperator.nemotron_nano_12b_v2_vl.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.nemotron_parse.authSecretstring"ngc-api"
nimOperator.nemotron_parse.enabledboolfalse
nimOperator.nemotron_parse.env[0].namestring"NIM_HTTP_API_PORT"
nimOperator.nemotron_parse.env[0].valuestring"8000"
nimOperator.nemotron_parse.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.nemotron_parse.env[1].valuestring"1"
nimOperator.nemotron_parse.expose.service.grpcPortint8001
nimOperator.nemotron_parse.expose.service.portint8000
nimOperator.nemotron_parse.expose.service.typestring"ClusterIP"
nimOperator.nemotron_parse.image.pullPolicystring"IfNotPresent"
nimOperator.nemotron_parse.image.pullSecrets[0]string"ngc-secret"
nimOperator.nemotron_parse.image.repositorystring"nvcr.io/nim/nvidia/nemotron-parse"
nimOperator.nemotron_parse.image.tagstring"1.5.0"
nimOperator.nemotron_parse.replicasint1
nimOperator.nemotron_parse.resources.limits."nvidia.com/gpu"int1
nimOperator.nemotron_parse.storage.pvc.createbooltrue
nimOperator.nemotron_parse.storage.pvc.sizestring"100Gi"
nimOperator.nemotron_parse.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.nimCache.pvc.createbooltrue
nimOperator.nimCache.pvc.sizestring"25Gi"
nimOperator.nimCache.pvc.storageClassstring"default"
nimOperator.nimCache.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.nimService.namespaceslist[]
nimOperator.nimService.resourcesobject{}
nimOperator.ocr.authSecretstring"ngc-api"
nimOperator.ocr.enabledbooltrue
nimOperator.ocr.env[0].namestring"OMP_NUM_THREADS"
nimOperator.ocr.env[0].valuestring"8"
nimOperator.ocr.env[1].namestring"NIM_HTTP_API_PORT"
nimOperator.ocr.env[1].valuestring"8000"
nimOperator.ocr.env[2].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.ocr.env[2].valuestring"1"
nimOperator.ocr.env[3].namestring"NIM_TRITON_MAX_BATCH_SIZE"
nimOperator.ocr.env[3].valuestring"32"
nimOperator.ocr.expose.service.grpcPortint8001
nimOperator.ocr.expose.service.portint8000
nimOperator.ocr.expose.service.typestring"ClusterIP"
nimOperator.ocr.image.pullPolicystring"IfNotPresent"
nimOperator.ocr.image.pullSecrets[0]string"ngc-secret"
nimOperator.ocr.image.repositorystring"nvcr.io/nim/nvidia/nemotron-ocr-v1"
nimOperator.ocr.image.tagstring"1.3.0"
nimOperator.ocr.replicasint1
nimOperator.ocr.resources.limits."nvidia.com/gpu"int1
nimOperator.ocr.storage.pvc.createbooltrue
nimOperator.ocr.storage.pvc.sizestring"25Gi"
nimOperator.ocr.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.page_elements.authSecretstring"ngc-api"
nimOperator.page_elements.enabledbooltrue
nimOperator.page_elements.env[0].namestring"NIM_HTTP_API_PORT"
nimOperator.page_elements.env[0].valuestring"8000"
nimOperator.page_elements.env[10].namestring"NIM_OTEL_METRICS_EXPORTER"
nimOperator.page_elements.env[10].valuestring"console"
nimOperator.page_elements.env[11].namestring"NIM_OTEL_EXPORTER_OTLP_ENDPOINT"
nimOperator.page_elements.env[11].valuestring"http://otel-collector:4318"
nimOperator.page_elements.env[12].namestring"TRITON_OTEL_URL"
nimOperator.page_elements.env[12].valuestring"http://otel-collector:4318/v1/traces"
nimOperator.page_elements.env[13].namestring"TRITON_OTEL_RATE"
nimOperator.page_elements.env[13].valuestring"1"
nimOperator.page_elements.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.page_elements.env[1].valuestring"1"
nimOperator.page_elements.env[2].namestring"NIM_TRITON_MAX_BATCH_SIZE"
nimOperator.page_elements.env[2].valuestring"32"
nimOperator.page_elements.env[3].namestring"NIM_TRITON_CPU_THREADS_PRE_PROCESSOR"
nimOperator.page_elements.env[3].valuestring"2"
nimOperator.page_elements.env[4].namestring"OMP_NUM_THREADS"
nimOperator.page_elements.env[4].valuestring"2"
nimOperator.page_elements.env[5].namestring"NIM_TRITON_CPU_THREADS_PRE_PROCESSOR"
nimOperator.page_elements.env[5].valuestring"2"
nimOperator.page_elements.env[6].namestring"NIM_TRITON_CPU_THREADS_POST_PROCESSOR"
nimOperator.page_elements.env[6].valuestring"1"
nimOperator.page_elements.env[7].namestring"NIM_ENABLE_OTEL"
nimOperator.page_elements.env[7].valuestring"true"
nimOperator.page_elements.env[8].namestring"NIM_OTEL_SERVICE_NAME"
nimOperator.page_elements.env[8].valuestring"page-elements"
nimOperator.page_elements.env[9].namestring"NIM_OTEL_TRACES_EXPORTER"
nimOperator.page_elements.env[9].valuestring"otlp"
nimOperator.page_elements.expose.service.grpcPortint8001
nimOperator.page_elements.expose.service.portint8000
nimOperator.page_elements.expose.service.typestring"ClusterIP"
nimOperator.page_elements.image.pullPolicystring"IfNotPresent"
nimOperator.page_elements.image.pullSecrets[0]string"ngc-secret"
nimOperator.page_elements.image.repositorystring"nvcr.io/nim/nvidia/nemotron-page-elements-v3"
nimOperator.page_elements.image.tagstring"1.8.0"
nimOperator.page_elements.replicasint1
nimOperator.page_elements.resources.limits."nvidia.com/gpu"int1
nimOperator.page_elements.storage.pvc.createbooltrue
nimOperator.page_elements.storage.pvc.sizestring"25Gi"
nimOperator.page_elements.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.rerankqa.authSecretstring"ngc-api"
nimOperator.rerankqa.enabledboolfalse
nimOperator.rerankqa.env[0].namestring"NIM_HTTP_API_PORT"
nimOperator.rerankqa.env[0].valuestring"8000"
nimOperator.rerankqa.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.rerankqa.env[1].valuestring"1"
nimOperator.rerankqa.expose.service.grpcPortint8001
nimOperator.rerankqa.expose.service.portint8000
nimOperator.rerankqa.expose.service.typestring"ClusterIP"
nimOperator.rerankqa.image.pullPolicystring"IfNotPresent"
nimOperator.rerankqa.image.pullSecrets[0]string"ngc-secret"
nimOperator.rerankqa.image.repositorystring"nvcr.io/nim/nvidia/llama-nemotron-rerank-1b-v2"
nimOperator.rerankqa.image.tagstring"1.10.0"
nimOperator.rerankqa.replicasint1
nimOperator.rerankqa.resources.limits."nvidia.com/gpu"int1
nimOperator.rerankqa.storage.pvc.createbooltrue
nimOperator.rerankqa.storage.pvc.sizestring"50Gi"
nimOperator.rerankqa.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nimOperator.table_structure.authSecretstring"ngc-api"
nimOperator.table_structure.enabledbooltrue
nimOperator.table_structure.env[0].namestring"NIM_HTTP_API_PORT"
nimOperator.table_structure.env[0].valuestring"8000"
nimOperator.table_structure.env[1].namestring"NIM_TRITON_LOG_VERBOSE"
nimOperator.table_structure.env[1].valuestring"1"
nimOperator.table_structure.env[2].namestring"NIM_TRITON_RATE_LIMIT"
nimOperator.table_structure.env[2].valuestring"3"
nimOperator.table_structure.env[3].namestring"NIM_TRITON_MAX_BATCH_SIZE"
nimOperator.table_structure.env[3].valuestring"32"
nimOperator.table_structure.env[4].namestring"NIM_TRITON_CUDA_MEMORY_POOL_MB"
nimOperator.table_structure.env[4].valuestring"2048"
nimOperator.table_structure.env[5].namestring"OMP_NUM_THREADS"
nimOperator.table_structure.env[5].valuestring"1"
nimOperator.table_structure.expose.service.grpcPortint8001
nimOperator.table_structure.expose.service.portint8000
nimOperator.table_structure.expose.service.typestring"ClusterIP"
nimOperator.table_structure.image.pullPolicystring"IfNotPresent"
nimOperator.table_structure.image.pullSecrets[0]string"ngc-secret"
nimOperator.table_structure.image.repositorystring"nvcr.io/nim/nvidia/nemotron-table-structure-v1"
nimOperator.table_structure.image.tagstring"1.8.0"
nimOperator.table_structure.replicasint1
nimOperator.table_structure.resources.limits."nvidia.com/gpu"int1
nimOperator.table_structure.storage.pvc.createbooltrue
nimOperator.table_structure.storage.pvc.sizestring"25Gi"
nimOperator.table_structure.storage.pvc.volumeAccessModestring"ReadWriteOnce"
nodeSelectorobject{}
opentelemetry-collector.config.exporters.debug.verbositystring"detailed"
opentelemetry-collector.config.exporters.zipkin.endpointstring"http://nv-ingest-zipkin:9411/api/v2/spans"
opentelemetry-collector.config.extensions.health_checkobject{}
opentelemetry-collector.config.extensions.zpages.endpointstring"0.0.0.0:55679"
opentelemetry-collector.config.processors.batchobject{}
opentelemetry-collector.config.processors.tail_sampling.policies[0].namestring"drop_noisy_traces_url"
opentelemetry-collector.config.processors.tail_sampling.policies[0].string_attribute.enabled_regex_matchingbooltrue
opentelemetry-collector.config.processors.tail_sampling.policies[0].string_attribute.invert_matchbooltrue
opentelemetry-collector.config.processors.tail_sampling.policies[0].string_attribute.keystring"http.target"
opentelemetry-collector.config.processors.tail_sampling.policies[0].string_attribute.values[0]string"/health"
opentelemetry-collector.config.processors.tail_sampling.policies[0].typestring"string_attribute"
opentelemetry-collector.config.processors.transform.trace_statements[0].contextstring"span"
opentelemetry-collector.config.processors.transform.trace_statements[0].statements[0]string"set(status.code, 1) where attributes[\"http.path\"] == \"/health\""
opentelemetry-collector.config.processors.transform.trace_statements[0].statements[1]string"replace_match(attributes[\"http.route\"], \"/v1\", attributes[\"http.target\"]) where attributes[\"http.target\"] != nil"
opentelemetry-collector.config.processors.transform.trace_statements[0].statements[2]string"replace_pattern(name, \"/v1\", attributes[\"http.route\"]) where attributes[\"http.route\"] != nil"
opentelemetry-collector.config.processors.transform.trace_statements[0].statements[3]string"set(name, Concat([name, attributes[\"http.url\"]], \" \")) where name == \"POST\""
opentelemetry-collector.config.receivers.otlp.protocols.grpc.endpointstring"${env:MY_POD_IP}:4317"
opentelemetry-collector.config.receivers.otlp.protocols.http.cors.allowed_origins[0]string"*"
opentelemetry-collector.config.receivers.otlp.protocols.http.endpointstring"${env:MY_POD_IP}:4318"
opentelemetry-collector.config.service.extensions[0]string"zpages"
opentelemetry-collector.config.service.extensions[1]string"health_check"
opentelemetry-collector.config.service.pipelines.logs.exporters[0]string"debug"
opentelemetry-collector.config.service.pipelines.logs.processors[0]string"batch"
opentelemetry-collector.config.service.pipelines.logs.receivers[0]string"otlp"
opentelemetry-collector.config.service.pipelines.metrics.exporters[0]string"debug"
opentelemetry-collector.config.service.pipelines.metrics.processors[0]string"batch"
opentelemetry-collector.config.service.pipelines.metrics.receivers[0]string"otlp"
opentelemetry-collector.config.service.pipelines.traces.exporters[0]string"debug"
opentelemetry-collector.config.service.pipelines.traces.exporters[1]string"zipkin"
opentelemetry-collector.config.service.pipelines.traces.processors[0]string"batch"
opentelemetry-collector.config.service.pipelines.traces.processors[1]string"tail_sampling"
opentelemetry-collector.config.service.pipelines.traces.processors[2]string"transform"
opentelemetry-collector.config.service.pipelines.traces.receivers[0]string"otlp"
opentelemetry-collector.image.repositorystring"otel/opentelemetry-collector-contrib"
opentelemetry-collector.image.tagstring"0.140.0"
opentelemetry-collector.modestring"deployment"
otelDeployedbooltrue
otelEnabledbooltrue
otelEnvVars.OTEL_LOGS_EXPORTERstring"none"
otelEnvVars.OTEL_METRICS_EXPORTERstring"otlp"
otelEnvVars.OTEL_PROPAGATORSstring"tracecontext,baggage"
otelEnvVars.OTEL_PYTHON_EXCLUDED_URLSstring"health"
otelEnvVars.OTEL_RESOURCE_ATTRIBUTESstring"deployment.environment=$(NAMESPACE)"
otelEnvVars.OTEL_SERVICE_NAMEstring"nemo-retrieval-service"
otelEnvVars.OTEL_TRACES_EXPORTERstring"otlp"
podAnnotations."traffic.sidecar.istio.io/excludeOutboundPorts"string"8007"
podLabelsobject{}
podSecurityContext.fsGroupint1000
prometheus.alertmanager.enabledboolfalse
prometheus.enabledboolfalse
prometheus.server.enabledboolfalse
readinessProbe.enabledbooltrue
readinessProbe.failureThresholdint220
readinessProbe.httpGet.pathstring"/v1/health/ready"
readinessProbe.httpGet.portstring"http"
readinessProbe.initialDelaySecondsint120
readinessProbe.periodSecondsint30
readinessProbe.successThresholdint1
readinessProbe.timeoutSecondsint10
redis.auth.enabledboolfalse
redis.image.repositorystring"redis"
redis.image.tagstring"8.2.3"
redis.master.configmapstring"protected-mode no"
redis.master.persistence.sizestring"50Gi"
redis.master.resources.limits.memorystring"12Gi"
redis.master.resources.requests.memorystring"6Gi"
redis.replica.persistence.sizestring"50Gi"
redis.replica.replicaCountint1
redis.replica.resources.limits.memorystring"12Gi"
redis.replica.resources.requests.memorystring"6Gi"
redisDeployedbooltrue
replicaCountint1
resources.limitsobject{}
resources.requests.cpustring"24000m"
resources.requests.memorystring"24Gi"
service.annotationsobject{}
service.labelsobject{}
service.namestring""
service.nodePortstringnil
service.portint7670
service.typestring"ClusterIP"
serviceAccount.annotationsobject{}
serviceAccount.automountbooltrue
serviceAccount.createbooltrue
serviceAccount.namestring""
tmpDirSizestring"50Gi"
tolerationslist[]
zipkin.image.repositorystring"openzipkin/zipkin"
zipkin.image.tagstring"3.5.0"
zipkin.resources.limits.cpustring"500m"
zipkin.resources.limits.memorystring"4.5Gi"
zipkin.resources.requests.cpustring"100m"
zipkin.resources.requests.memorystring"2.5Gi"
zipkin.zipkin.extraEnv.JAVA_OPTSstring"-Xms2g -Xmx4g -XX:+ExitOnOutOfMemoryError"
zipkinDeployedbooltrue
Publisher
NVIDIA
NVIDIA
Latest Version26.3.0
UpdatedMarch 17, 2026 UTC
Compressed Size445.49 KB