2024-09-13 21:48:11 +03:00

72 lines
1.8 KiB
YAML

{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "codex.serviceAccountName" . }}
labels:
{{- include "codex.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.serviceAccount.automount }}
{{- if and .Values.serviceAccount.rbac.create }}
{{- if .Values.serviceAccount.rbac.rules }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ include "codex.role.name" . }}
labels:
{{- include "codex.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ include "codex.role.name" . }}
subjects:
- kind: ServiceAccount
name: {{ include "codex.serviceAccountName" . }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ include "codex.role.name" . }}
labels:
{{- include "codex.labels" . | nindent 4 }}
rules:
{{ toYaml .Values.serviceAccount.rbac.rules | indent 0 }}
{{- end }}
{{- if .Values.serviceAccount.rbac.clusterRules }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "codex.clusterRole.name" . }}
labels:
{{- include "codex.labels" . | nindent 4 }}
rules:
{{ toYaml .Values.serviceAccount.rbac.clusterRules | indent 0 }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "codex.clusterRole.name" . }}
labels:
{{- include "codex.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "codex.clusterRole.name" . }}
subjects:
- kind: ServiceAccount
name: {{ include "codex.serviceAccountName" . }}
namespace: {{ include "codex.namespace" . }}
{{- end }}
{{- end }}
{{- end }}