Manual Resource Downloader#

This manual-resource-downloader init container waits until the resources have been manually uploaded to the persistent volume.

Container Information#

Container Image

nvcr.io/nvidia/ace/manual-resource-downloader:1.0.1

Publishing Location

nvidia/ace

Previous Versions

License

NVAIE

NGC Enablement

Public

Usage Example#

The resources need to be uploaded to the path that is passed in the environment variable DESTINATION_RESOURCE_PATH=<persistent-volume-mount-path>. After the resources have been uploaded, confirm this by adding a file called manual_resource_uploaded.txt.

In the params of the UCS app, no resource path need to be provided, as the upload is completely manual. A secret needs to be provided, even if it is not used. In that case, just create an empty dummy-secret.

resourceDownload:
  remoteResourcePath: ""
  secretName: dummy-secret
  image: nvcr.io/nvidia/ace/manual-resource-downloader:1.0.1

Here is an example with kubectl how resources could be uploaded:

  1. Get the DESTINATION_RESOURCE_PATH environment variable to your local computer.

DESTINATION_RESOURCE_PATH=$(kubectl get configmap -n <your-namespace> <your-pod-name> -o jsonpath="{.data.DESTINATION_RESOURCE_PATH}")
  1. Copy the files from your local computer to the pod to the DESTINATION_RESOURCE_PATH.

cd <your-local-directory>
kubectl cp . -c init -n <your-namespace> <your-pod-name>:$DESTINATION_RESOURCE_PATH
  1. Verify the files are there.

kubectl exec -n <your-namespace> -c init <your-pod-name> -- ls -alh $DESTINATION_RESOURCE_PATH
  1. Create a file called manual_resource_uploaded.txt in the DESTINATION_RESOURCE_PATH to confirm the upload succeeded.

kubectl exec -n <your-namespace> -c init <your-pod-name> -- touch $DESTINATION_RESOURCE_PATH/manual_resource_uploaded.txt
  1. The init container will then complete and the microservice will start.