Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenID Connect Support #423

Merged
merged 44 commits into from
Jan 31, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
708139f
Support OIDC
siegfriedweber Oct 24, 2023
e36417b
Merge remote-tracking branch 'origin/main' into feat/oidc
sbernauer Nov 17, 2023
7b5bba3
Rework to use new structs from operator-rs
sbernauer Nov 17, 2023
b70524e
charts
sbernauer Nov 17, 2023
8a69005
handle tls settings
sbernauer Nov 17, 2023
db3fd1b
charts
sbernauer Nov 17, 2023
3412c6e
Merge remote-tracking branch 'origin/main' into feat/oidc
sbernauer Nov 20, 2023
ce3d512
new operator-rs
sbernauer Nov 20, 2023
133530d
update operator-rs
sbernauer Nov 23, 2023
0ea4d0a
fix: Move oidcApiPath to the correct location
sbernauer Nov 23, 2023
8686c4b
chore: update operator-rs
NickLarsenNZ Nov 24, 2023
b47a58d
feat: erorr out if superset is configured for oidc+keycloak with a pr…
NickLarsenNZ Nov 24, 2023
d137770
update operator-rs
sbernauer Nov 27, 2023
fbd82b6
bump
sbernauer Dec 4, 2023
76c01ca
Merge remote-tracking branch 'origin/main' into feat/oidc
sbernauer Jan 2, 2024
1d771b5
Update operator-rs
sbernauer Jan 3, 2024
8130ec7
fix tests
sbernauer Jan 3, 2024
c8e5712
Merge remote-tracking branch 'origin/main' into feat/oidc
sbernauer Jan 3, 2024
7fb873f
Make authentication configuration optional
siegfriedweber Jan 11, 2024
b87bbd3
Rename SupersetAuthenticationConfigResolved to SupersetClientAuthenti…
siegfriedweber Jan 12, 2024
e00535d
Improve the data type of the authentication configuration
siegfriedweber Jan 12, 2024
b8829d3
Regenerate charts
siegfriedweber Jan 12, 2024
e7bca8e
Revise the resolution of OIDC authentication details
siegfriedweber Jan 16, 2024
8f89ca7
Merge branch 'main' into feat/oidc
siegfriedweber Jan 17, 2024
44a9bb6
Add OIDC test
siegfriedweber Jan 23, 2024
f088ffe
Use TLS for Keycloak in the OIDC test
siegfriedweber Jan 24, 2024
03bdd3b
Check the user info in the OIDC test
siegfriedweber Jan 25, 2024
efe1ac0
Fix linter warnings
siegfriedweber Jan 25, 2024
d505309
Fix secret scope in the OIDC test
siegfriedweber Jan 25, 2024
0369b12
Refactor the check that TLS verification cannot be disabled
siegfriedweber Jan 25, 2024
054e580
Allow multiple OIDC providers
siegfriedweber Jan 26, 2024
c97ac70
Add documentation for OIDC in Superset
siegfriedweber Jan 29, 2024
cee7130
Use main branch of operator-rs
siegfriedweber Jan 29, 2024
b5f640f
Merge branch 'main' into feat/oidc
siegfriedweber Jan 29, 2024
34e6185
Fix spelling
siegfriedweber Jan 30, 2024
71007aa
Add comments
siegfriedweber Jan 30, 2024
4e622b4
Move the creation of EnvVars into a separate function
siegfriedweber Jan 31, 2024
9830a69
Update docs/modules/superset/pages/usage-guide/security.adoc
siegfriedweber Jan 31, 2024
bf1c875
Update docs/modules/superset/pages/usage-guide/security.adoc
siegfriedweber Jan 31, 2024
fdf8fbc
Update docs/modules/superset/pages/usage-guide/security.adoc
siegfriedweber Jan 31, 2024
24e54ef
Upgrade operator-rs to version 0.64.0
siegfriedweber Jan 31, 2024
171889a
Merge branch 'main' into feat/oidc
siegfriedweber Jan 31, 2024
73a21be
Update changelog
siegfriedweber Jan 31, 2024
1605b48
Fix external link icons in the documentation
siegfriedweber Jan 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions rust/crd/src/affinity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ mod tests {
productVersion: 3.0.1
clusterConfig:
credentialsSecret: superset-db-credentials
authentication: []
nodes:
roleGroups:
default:
Expand Down Expand Up @@ -112,7 +111,6 @@ mod tests {
productVersion: 3.0.1
clusterConfig:
credentialsSecret: superset-db-credentials
authentication: []
nodes:
roleGroups:
default:
Expand Down
2 changes: 1 addition & 1 deletion rust/crd/src/authentication.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ pub struct SupersetAuthenticationConfigResolved {

impl SupersetAuthenticationConfigResolved {
pub async fn from(
auth_details: &Vec<SupersetClientAuthenticationDetails>,
auth_details: &[SupersetClientAuthenticationDetails],
client: &Client,
) -> Result<SupersetAuthenticationConfigResolved> {
// TODO: Adapt if multiple authentication types are supported by Superset.
Expand Down
5 changes: 3 additions & 2 deletions rust/crd/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,9 @@ pub struct SupersetClusterSpec {
#[derive(Clone, Debug, Deserialize, JsonSchema, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct SupersetClusterConfig {
/// Mandatory list of AuthenticationClasses used to authenticate users.
pub authentication: Vec<SupersetClientAuthenticationDetails>,
/// List of AuthenticationClasses used to authenticate users.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication: Option<Vec<SupersetClientAuthenticationDetails>>,
sbernauer marked this conversation as resolved.
Show resolved Hide resolved

/// The name of the Secret object containing the admin user credentials and database connection details.
/// Read the
Expand Down
2 changes: 2 additions & 0 deletions rust/operator-binary/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,8 @@ fn references_authentication_class(
.spec
.cluster_config
.authentication
.as_deref()
.unwrap_or_default()
.iter()
.any(|c| c.common.authentication_class_name() == &authentication_class_name)
}
7 changes: 6 additions & 1 deletion rust/operator-binary/src/superset_controller.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,12 @@ pub async fn reconcile_superset(superset: Arc<SupersetCluster>, ctx: Arc<Ctx>) -
.context(ResolveVectorAggregatorAddressSnafu)?;

let auth_config = SupersetAuthenticationConfigResolved::from(
&superset.spec.cluster_config.authentication,
superset
.spec
.cluster_config
.authentication
.as_deref()
.unwrap_or_default(),
client,
)
.await
Expand Down
Loading