Skip to content

Commit 9836dce

Browse files
committed
Added OAuth 2.0 support to Helm chart v2
1 parent 9f71ffd commit 9836dce

File tree

3 files changed

+53
-0
lines changed

3 files changed

+53
-0
lines changed

charts/dremio_v2/config/dremio.conf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,8 @@ services.flight.ssl.enabled: true
102102
services.flight.ssl.auto-certificate.enabled: false
103103
services.flight.ssl.keyStore: "/opt/dremio/tls/flight.pkcs12"
104104
{{- end }}
105+
106+
{{- if $.Values.coordinator.web.oauth.enabled }}
107+
services.coordinator.web.auth.type: "oauth"
108+
services.coordinator.web.auth.config: "/opt/dremio/conf/oauth.json"
109+
{{- end }}

charts/dremio_v2/config/oauth.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{- if $.Values.coordinator.web.oauth.enabled }}
2+
{
3+
"clientId": {{ required "OAuth 2.0 Client ID required" $.Values.coordinator.web.oauth.clientId | quote }},
4+
"clientSecret": {{ required "OAuth 2.0 Client Secret required" $.Values.coordinator.web.oauth.clientSecret | quote }},
5+
"redirectUrl": {{ required "OAuth 2.0 Redirect URL required" $.Values.coordinator.web.oauth.redirectUrl | quote }},
6+
"authorityUrl": {{ required "OAuth 2.0 Authority URL required" $.Values.coordinator.web.oauth.authorityUrl | quote }},
7+
"scope": {{ required "OAuth 2.0 Scopes required" $.Values.coordinator.web.oauth.scope | join " " | quote }},
8+
"jwtClaims": {{ $.Values.coordinator.web.oauth.jwtClaims | default dict | toJson }},
9+
"parameters": {{ $.Values.coordinator.web.oauth.parameters | default list | toJson }}
10+
}
11+
{{- end }}

charts/dremio_v2/values.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,43 @@ coordinator:
110110
# To create a TLS secret, use the following command:
111111
# kubectl create secret tls ${TLS_SECRET_NAME} --key ${KEY_FILE} --cert ${CERT_FILE}
112112
secret: dremio-tls-secret-ui
113+
114+
oauth:
115+
# To enable OAuth 2.0 for the web UI, set the enabled flag to true and provide
116+
# the following required information
117+
enabled: false
118+
119+
# required, it is based on the OpenID provider.
120+
#clientId: ""
121+
122+
# required, it is based on the OpenID provider.
123+
# NOTE: In Dremio 24+, clientSecret can be encrypted using the dremio-admin encrypt CLI command.
124+
#clientSecret: ""
125+
126+
# required, the URL where Dremio is hosted. The URL must match the redirect url set in the OpenID Provider.
127+
# typically ends with /sso (e. g. https://<dremio-url>/sso)
128+
#redirectUrl: ""
129+
130+
# required, the location where Dremio can find the OpenID discovery document. For example, Google’s location
131+
# is https://accounts.google.com/.well-known/openid-configuration and the authorityUrl therefore to use is
132+
# https://accounts.google.com, the base location of the well-known directory.
133+
#authorityUrl: ""
134+
135+
# optional, it is based on the OpenID provider. openid scope is always required, other scopes can vary by provider.
136+
# defaults to openid
137+
scope:
138+
- openid
139+
140+
# optional, maps fields from the JWT token to fields Dremio requires. The only field currently required
141+
# is userName, which you should set to the field in JWT that contains the user’s username.
142+
# defaults to using the email as the userName
143+
jwtClaims:
144+
userName: email
145+
146+
# optional, any additional parameters required by the OpenID providers.
147+
#parameters:
148+
#- name: access_type
149+
# value: offline
113150

114151
# ODBC/JDBC Client
115152
client:

0 commit comments

Comments
 (0)