{{- if .Values.engine.serviceAccount.create }} apiVersion: v1 kind: ServiceAccount metadata: name: {{ default (printf "%s-sa" .Values.engine.namePrefix) .Values.engine.serviceAccount.name }} labels: {{ include "deepgram-self-hosted.labels" . | indent 4}} --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: {{ .Values.engine.namePrefix }}-role labels: {{ include "deepgram-self-hosted.labels" . | indent 4}} rules: - apiGroups: [""] resources: ["configmaps"] resourceNames: ["{{ .Values.engine.namePrefix }}-config"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["secrets"] resourceNames: ["{{ .Values.global.pullSecretRef }}", "{{ .Values.global.deepgramSecretRef }}"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["services"] resourceNames: [{{- if .Values.licenseProxy.enabled -}}"{{ .Values.licenseProxy.namePrefix }}-internal"{{- end -}}] verbs: ["get"] - apiGroups: [""] resources: ["persistentvolumeclaims"] resourceNames: ["{{ .Values.engine.modelManager.volumes.customVolumeClaim.name }}", "{{ .Values.engine.modelManager.volumes.aws.efs.namePrefix }}-aws-efs-pvc", "{{ .Values.engine.modelManager.volumes.gcp.gpd.namePrefix }}-gcp-gpd-pvc" ] verbs: ["get", "list", "watch"] - apiGroups: ["nvidia.com"] resources: ["*"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: {{ .Values.engine.namePrefix }}-rolebinding labels: {{ include "deepgram-self-hosted.labels" . | indent 4}} subjects: - kind: ServiceAccount name: {{ default (printf "%s-sa" .Values.engine.namePrefix) .Values.engine.serviceAccount.name }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: {{ .Values.engine.namePrefix }}-role {{- end }}