Description
Is your feature request related to a problem? Please describe.
Currently, the oci://...
uri behavior is not supported.
Describe the solution approach you'd like
Consider the following sub-fields in an MSVC
modelArtifacts:
# Example: oci://quay.io/crio/artifact:v1/path/to/model
uri: "oci://<complete image identifier including tag>::/path/to/model"
# OCIs can have pull secrets, not supported ATM
# authSecretName(s): mytokens
containers:
- name: vllm
args:
# {{ .CompleteModelPath }} = mountPath + /path/to/model
- "{{ .CompleteModelPath }}"
mountModelVolume: true
The pod-spec generated out of msvc should look like this.
containers:
- name: vllm
args:
- "{{ .CompleteModelPath }}"
volumeMounts:
- mountPath: /model-cache # this must always be the model-storage mountPath for oci:// URIs.
name: model-storage
volumes:
- name: model-storage
image:
reference: <complete image identifier including tag>
Note that the msvc resource specs (of which the above is a snippet) get mergo merged as usual into the baseconfig specs.
Behind the scenes:
The .mountModelVolume: true
should induce the following behavior for the msvc generated deployment specs (this is even before the baseconfig merges).
- Creates a volume (model-storage) in the podSpec to pull from an image reference
- Adds volumeMounts the container where
.mountModelVolume
is true - Exports {{ .CompleteModelPath }} as
mountPath (hardcoded to oci-dir) + path/to/model (from URI)