| 1 | {{- if and .Values.extraInit .Values.extraInit.modelDownload.enabled }} |
| 2 | apiVersion: batch/v1 |
| 3 | kind: Job |
| 4 | metadata: |
| 5 | name: "{{ .Release.Name }}-init-vllm" |
| 6 | namespace: {{ .Release.Namespace }} |
| 7 | spec: |
| 8 | ttlSecondsAfterFinished: 100 |
| 9 | template: |
| 10 | metadata: |
| 11 | name: init-vllm |
| 12 | spec: |
| 13 | containers: |
| 14 | - name: job-download-model |
| 15 | image: {{ .Values.extraInit.modelDownload.image.repository }}:{{ .Values.extraInit.modelDownload.image.tag }} |
| 16 | imagePullPolicy: {{ .Values.extraInit.modelDownload.image.pullPolicy }} |
| 17 | command: {{ .Values.extraInit.modelDownload.downloadJob.command | toJson }} |
| 18 | args: |
| 19 | {{- toYaml .Values.extraInit.modelDownload.downloadJob.args | nindent 8 }} |
| 20 | env: |
| 21 | {{- if .Values.extraInit.modelDownload.downloadJob.env }} |
| 22 | {{- toYaml .Values.extraInit.modelDownload.downloadJob.env | nindent 8 }} |
| 23 | {{- else }} |
| 24 | {{- include "chart.extraInitEnv" . | nindent 8 }} |
| 25 | {{- end }} |
| 26 | volumeMounts: |
| 27 | - name: {{ .Release.Name }}-storage |
| 28 | mountPath: /data |
| 29 | resources: |
| 30 | requests: |
| 31 | cpu: 200m |
| 32 | memory: 1Gi |
| 33 | limits: |
| 34 | cpu: 500m |
| 35 | memory: 2Gi |
| 36 | restartPolicy: OnFailure |
| 37 | volumes: |
| 38 | - name: {{ .Release.Name }}-storage |
| 39 | persistentVolumeClaim: |
| 40 | claimName: "{{ .Release.Name }}-storage-claim" |
| 41 | {{- end }} |