diff --git a/chart/templates/gitlab/secret-sso.yaml b/chart/templates/gitlab/secret-sso.yaml index 55c41b7269a277b93c58a7625143ac1ff6a5a0ff..0c76b0a83c7c60b46a2c660eba198e005c734c2e 100644 --- a/chart/templates/gitlab/secret-sso.yaml +++ b/chart/templates/gitlab/secret-sso.yaml @@ -16,20 +16,23 @@ stringData: "args": { "name": "openid_connect", "scope": [ - "Gitlab" + {{- $scopes := .Values.addons.gitlab.sso.scopes | default (list "Gitlab") | uniq }} + {{- range $index, $scopes }} + {{ $index | quote }}{{if ne $index (last $scopes)}},{{end}} + {{- end }} ], "response_type": "code", - "issuer": "https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}", + "issuer": {{ .Values.addons.gitlab.sso.issuer_uri | default "https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}" | quote }}, "client_auth_method": "query", "discovery": true, - "uid_field": "preferred_username", + "uid_field": {{ .Values.addons.gitlab.sso.uid_field | default "preferred_username" | quote }}, "client_options": { "identifier": "{{ .Values.addons.gitlab.sso.client_id | default .Values.sso.client_id }}", "secret": "{{ .Values.addons.gitlab.sso.client_secret | default .Values.sso.client_secret }}", "redirect_uri": "https://{{ .Values.addons.gitlab.hostnames.gitlab }}.{{ $domainName }}/users/auth/openid_connect/callback", - "end_session_endpoint": "https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}/protocol/openid-connect/logout" + "end_session_endpoint": {{ .Values.addons.gitlab.sso.end_session_uri | default "https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}/protocol/openid-connect/logout" | quote }} } } } {{- end }} -{{- end}} \ No newline at end of file +{{- end}} diff --git a/chart/values.yaml b/chart/values.yaml index 656de8916bac2bbcee6a51885feda98b90c2cc73..0344715df60ea3b11da275c1a8bcf526d666135c 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -751,6 +751,18 @@ addons: # -- Gitlab SSO login button label label: "" + # -- Gitlab SSO Scopes, default is ["Gitlab"] + scopes: + - Gitlab + + # -- GitLab SSO URIs + # Only needed if your SSO is non-Keycloak + #issuer_uri: + #end_session_uri: + + # -- Gitlab SSO UID field + uid_field: preferred_username + database: # -- Hostname of a pre-existing PostgreSQL database to use for Gitlab. # Entering connection info will disable the deployment of an internal database and will auto-create any required secrets.