|
| 1 | +{{- if and .Values.decode.create (eq (include "llm-d-modelservice.decodeWorkloadKind" .) "StatefulSet") }} |
| 2 | +apiVersion: apps/v1 |
| 3 | +kind: StatefulSet |
| 4 | +metadata: |
| 5 | + name: {{ include "llm-d-modelservice.decodeName" . }} |
| 6 | + labels: |
| 7 | + {{- include "llm-d-modelservice.labels" . | nindent 4 }} |
| 8 | + {{- $warning := "" }} |
| 9 | + {{- if .Values.decode.containers }} |
| 10 | + {{- $firstContainer := index .Values.decode.containers 0 }} |
| 11 | + {{- $warning = include "llm-d-modelservice.acceleratorWarning" (dict "parallelism" .Values.decode.parallelism "resources" $firstContainer.resources "Values" .Values "container" $firstContainer) }} |
| 12 | + {{- end }} |
| 13 | + {{- if or .Values.decode.annotations $warning }} |
| 14 | + annotations: |
| 15 | + {{- if .Values.decode.annotations }} |
| 16 | + {{- toYaml .Values.decode.annotations | nindent 4 }} |
| 17 | + {{- end }} |
| 18 | + {{- if $warning }} |
| 19 | + llm-d.ai/accelerator-warning: {{ $warning | quote }} |
| 20 | + {{- end }} |
| 21 | + {{- end }} |
| 22 | +spec: |
| 23 | + replicas: {{ ternary .Values.decode.replicas 1 (hasKey .Values.decode "replicas") }} |
| 24 | + serviceName: {{ include "llm-d-modelservice.decodeName" . }}-headless |
| 25 | + {{- if .Values.decode.updateStrategy }} |
| 26 | + updateStrategy: |
| 27 | + {{- toYaml .Values.decode.updateStrategy | nindent 4 }} |
| 28 | + {{- else if .Values.decode.strategy }} |
| 29 | + {{- /* Fall back to strategy for backward compat (may contain Deployment-only fields like maxSurge) */}} |
| 30 | + updateStrategy: |
| 31 | + {{- toYaml .Values.decode.strategy | nindent 4 }} |
| 32 | + {{- end }} |
| 33 | + podManagementPolicy: {{ .Values.decode.podManagementPolicy | default "Parallel" }} |
| 34 | + {{- if .Values.decode.revisionHistoryLimit }} |
| 35 | + revisionHistoryLimit: {{ .Values.decode.revisionHistoryLimit }} |
| 36 | + {{- end }} |
| 37 | + {{- if .Values.decode.minReadySeconds }} |
| 38 | + minReadySeconds: {{ .Values.decode.minReadySeconds }} |
| 39 | + {{- end }} |
| 40 | + {{- if .Values.decode.volumeClaimTemplates }} |
| 41 | + volumeClaimTemplates: |
| 42 | + {{- toYaml .Values.decode.volumeClaimTemplates | nindent 4 }} |
| 43 | + {{- end }} |
| 44 | + selector: |
| 45 | + matchLabels: |
| 46 | + {{- include "llm-d-modelservice.decodelabels" . | nindent 6 }} |
| 47 | + template: |
| 48 | + metadata: |
| 49 | + labels: |
| 50 | + {{- include "llm-d-modelservice.decodelabels" . | nindent 8 }} |
| 51 | + {{- if .Values.decode.podAnnotations }} |
| 52 | + annotations: |
| 53 | + {{- toYaml .Values.decode.podAnnotations | nindent 8 }} |
| 54 | + {{- end }} |
| 55 | + spec: |
| 56 | + {{- if .Values.decode.nodeSelector }} |
| 57 | + nodeSelector: |
| 58 | + {{- toYaml .Values.decode.nodeSelector | nindent 8 }} |
| 59 | + {{- end }} |
| 60 | + {{- if or (.Values.decode.initContainers) (eq .Values.routing.proxy.enabled true) }} |
| 61 | + initContainers: |
| 62 | + {{- (include "llm-d-modelservice.routingProxy" (dict "proxy" .Values.routing.proxy "servicePort" .Values.routing.servicePort "Values" .Values)) | nindent 8 }} |
| 63 | + {{- if .Values.decode.initContainers }} |
| 64 | + {{- toYaml .Values.decode.initContainers | nindent 8 }} |
| 65 | + {{- end }} |
| 66 | + {{- end }} |
| 67 | + {{- if hasKey .Values.decode "enableServiceLinks" }} |
| 68 | + enableServiceLinks: {{ .Values.decode.enableServiceLinks }} |
| 69 | + {{- end }} |
| 70 | + {{- if hasKey .Values.decode "terminationGracePeriodSeconds" }} |
| 71 | + terminationGracePeriodSeconds: {{ .Values.decode.terminationGracePeriodSeconds }} |
| 72 | + {{- end }} |
| 73 | + {{- (include "llm-d-modelservice.modelPod" (dict "role" "decode" "pdSpec" .Values.decode "Values" .Values "Release" .Release "Chart" .Chart)) | nindent 4 }} |
| 74 | + {{- with .Values.decode.containers }} |
| 75 | + containers: |
| 76 | + {{- range . }} |
| 77 | + {{- (include "llm-d-modelservice.container" (dict "role" "decode" "container" . "parallelism" $.Values.decode.parallelism "Values" $.Values "Release" $.Release "Chart" $.Chart "pdSpec" $.Values.decode)) | nindent 8 }} |
| 78 | + {{- end }} |
| 79 | + {{- end }} |
| 80 | + {{- if .Values.decode.tolerations }} |
| 81 | + tolerations: |
| 82 | + {{- toYaml .Values.decode.tolerations | nindent 8 }} |
| 83 | + {{- end }} |
| 84 | +{{- end }} |
0 commit comments