{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}

{{- range $component,$serviceAccount:=(dict "common" .Values.common.serviceAccount "mongos" .Values.mongos.serviceAccount "configsvr" .Values.configsvr.serviceAccount "shardsvr-arbiter" .Values.shardsvr.arbiter.serviceAccount "shardsvr" .Values.shardsvr.dataNode.serviceAccount) }}
{{- if $serviceAccount.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
  name: {{ include "mongodb-sharded.serviceAccountName" (dict "component" $component "value" $serviceAccount "context" $) }}
  namespace: {{ include "common.names.namespace" $ | quote }}
  labels: {{- include "common.labels.standard" ( dict "customLabels" $.Values.commonLabels "context" $ ) | nindent 4 }}
    app.kubernetes.io/component: {{ $component }}
  {{- if or $serviceAccount.annotations $.Values.commonAnnotations }}
  {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list $serviceAccount.annotations $.Values.commonAnnotations ) "context" . ) }}
  annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }}
  {{- end }}
automountServiceAccountToken: {{ $serviceAccount.automountServiceAccountToken }}
---
{{- end }}
{{- end }}
