deploy-templates/templates/KeycloakClient.yaml (52 lines of code) (raw):

{{- $root := .Values }} {{- $release := .Release }} {{- range $client := .Values.keycloak.clients }} --- apiVersion: v1.edp.epam.com/v1 kind: KeycloakClient metadata: name: {{ $client.name }} annotations: "helm.sh/resource-policy": keep labels: created-by: {{ $root.appLabel }} spec: clientId: {{ $client.clientId }} public: {{ $client.public }} directAccess: {{ $client.directAccess }} {{- if $client.protocol }} protocol: {{ $client.protocol }} {{- end }} audRequired: {{ $client.audRequired }} {{- if $client.attributes }} attributes: {{ $client.attributes | toYaml | nindent 4 }} {{- end }} {{- if $client.clientRoles }} clientRoles: {{- range $client.clientRoles }} - {{ . }} {{- end }} {{- end }} {{- if not $client.public }} serviceAccount: {{- if $client.serviceAccountAttributes }} attributes: {{ $client.serviceAccountAttributes | toYaml | nindent 6 }} {{- end }} enabled: true {{- if $client.realmRoles }} realmRoles: {{ $client.realmRoles | toYaml | nindent 4 }} {{- end }} {{- if $client.serviceAccountClientRoles }} clientRoles: {{ $client.serviceAccountClientRoles | toYaml | nindent 4 }} {{- end }} secret: {{ $client.secretName }} {{- end }} {{- if $client.protocolMappers }} protocolMappers: {{ $client.protocolMappers | toYaml | nindent 4 }} {{- end }} targetRealm: {{ template "keycloak.realmName" (dict "root" $ "realm" $client.targetRealm "release" $release) }} {{- if $client.webUrl }} webUrl: {{ tpl $client.webUrl $ }} {{- end }} {{- end }}