Deploy with Helm Chart#

This section shows how to deploy Model Download using Helm chart.

Prerequisites#

Before you begin, ensure that you have the following prerequisites:

Install Helm Chart from Docker Hub or from Source#

To deploy with Helm chart, you can either install the chart from Docker hub or from source.

Option 1: Install from Docker Hub#

  1. Pull the specific chart

    Use the following command to pull the Helm chart from Docker Hub:

    helm pull oci://registry-1.docker.io/intel/model-download-chart --version 2026.1.0-rc1-helm
    

    See the Docker hub’s tags page for details on the latest version number to use for the application.

  2. Extract the .tgz file

    tar -xvf model-download-chart-2026.1.0-rc1-helm.tgz
    
  3. This will create a directory named model-download-chart, containing the chart files. Navigate to the extracted directory:

    cd model-download-chart
    

Option 2: Install from Source#

  1. Clone the repository containing the Helm chart:

    # Clone the latest on the mainline
      git clone https://github.com/open-edge-platform/edge-ai-libraries.git edge-ai-libraries
    # Alternatively, clone a specific release branch
      git clone https://github.com/open-edge-platform/edge-ai-libraries.git edge-ai-libraries -b release-2026.1.0
    
  2. Navigate to the chart directory:

    cd edge-ai-libraries/microservices/model-download/chart
    

Configure the values.yaml File#

Edit the values.yaml file located in the chart directory to set the necessary environment variables. Set your proxy settings as required.

The following is a summary of key configuration options available in the values.yaml file:

Parameter

Description

Example Value

Required

env.HUGGINGFACEHUB_API_TOKEN

Hugging Face access token

hf_xxx

Yes

env.MAX_UPLOAD_SIZE_MB

Maximum allowed upload ZIP size in MB

500

No

env.UPLOAD_CHUNK_SIZE_KB

Chunk size for streaming file uploads in KB (larger improves throughput, smaller reduces memory for concurrent uploads)

8

No

env.GETI_WORKSPACE_ID

Geti™ workspace ID

Yes, For Geti™ connection

env.GETI_HOST

Geti™ connection host address

Yes, For Geti™ connection

env.GETI_TOKEN

Geti™ Personal Access token

Yes, For Geti™ connection

env.GETI_SERVER_API_VERSION

Geti™ API version

v1

Yes, For Geti™ connection

env.GETI_SERVER_SSL_VERIFY

Enables SSL certificate validation for HTTPS/HTTP Geti™ hosts

False

Yes, For Geti™ connection

service.nodePort

Sets the static port (in the 30000–32767 range)

32000

Yes

env.ENABLED_PLUGINS

Comma-separated list of plugins to enable (e.g., huggingface,ollama,ultralytics,pipeline-zoo-models,openvino,geti,hls) or all to enable all available plugins

all

Yes

image.repository

image repository url

intel/model-download

Yes

image.tag

latest image tag

2026.1.0-rc1

Yes

gpu.enabled

For model download deployed on GPU

false

gpu.key

Label assigned to the GPU node on kubernetes cluster by the device plugin example- gpu.intel.com/i915, gpu.intel.com/xe. Identify by running kubectl describe node

<your-node-key-on-cluster>

affinity.enabled

Default is false, true to enable affinity

false

affinity.key

Provide the key for the affinity,default is kubernetes.io/hostname

kubernetes.io/hostname

affinity.value

Provide the values for the respective key

Note: See the chart’s values.yaml file for a full list of configurable parameters.

Deploy the Helm Chart#

helm install model-download . -n <your-namespace>

Note: model-download creates and manages a shared PVC that can be used by dependent applications such as Chat Q&A.

Verify the Deployment#

Check the status of the deployed resources to ensure everything is running correctly:

kubectl get pods -n <your-namespace>
kubectl get services -n <your-namespace>

Access the Application#

Open the application’s Swagger documentation in a browser through http://<node-ip>:<node-port>/api/v1/docs.

Uninstall Helm chart#

helm uninstall <name> -n <your-namespace>

Verify the Application#

  1. Ensure that all pods are running and the services are accessible.

  2. Access the application dashboard and verify that it is functioning as expected.

Troubleshooting#

  • If you encounter any issues during the deployment process, check the Kubernetes logs for errors:

    kubectl logs <pod-name>
    
  • If the PVC created during a Helm chart deployment is not removed or auto-deleted due to a deployment failure or being stuck, delete it manually:

    # List the PVCs present in the given namespace
    kubectl get pvc -n <namespace>
    
    # Delete the required PVC from the namespace
    kubectl delete pvc <pvc-name> -n <namespace>
    

Note: Delete the shared PVC only after confirming no other workload or application (for example, Chat Q&A) depends on it. In such cases, uninstall the dependent application first, then clean up model-download resources, and finally delete the shared PVC if required.

Learn More#