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