Skip to content

feat(trino): enable dynamic client registration - #31

Open
octavepre wants to merge 2 commits into
OKDP:mainfrom
alliage-io:feat/trino-oidc-dcr
Open

feat(trino): enable dynamic client registration#31
octavepre wants to merge 2 commits into
OKDP:mainfrom
alliage-io:feat/trino-oidc-dcr

Conversation

@octavepre

Copy link
Copy Markdown
Contributor

Description

5 new variables and 2 new packages are introduced in this release.

The first package, oidc-dcr, allows clients to be dynamically registered with the ID Provider. This package then retrieves the client’s name, ID, secret, scopes, and issuer URL, and saves them in a secret. oidc-dcr can be enabled or disabled using the enableDCR variable. The scopes are passed as parameters and can be modified by the user when creating the Trino instance on the OKDP UI.

The second package, keycloak-config-cli, allows you to add the client-scope groups to the new client created just before. This package has two prerequisites for execution: the ecosystem must use Keycloak as the identity provider, and the enable DCR variable must be set to true. Additionally, this package depends on the oidc-dcr package, which means it waits for oidc-dcr to finish running before starting. keycloak-config-cli uses the Keycloak admin profile to modify certain settings. It requires two variables to run: keycloakAdminUser and keycloakAdminPassword.

Trino’s main package has been modified. Depending on the value of the enableDCR variable, the variables related to the Trino client will differ. If disabled, the variables will remain the same as before this feature was created. If enabled, the variables will take on the values contained in a secret previously created when the oidc-dcr package was executed.

Related Issue

Fixes #29
Depends on #30

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor / chore
  • Breaking change

DCR allows a client to be registered directly within the ID provider in a dynamic and secure manner, without having to store any secrets in the codebase.

How to Test

Create a Trino instance on OKDP UI.
The client is automatically created in the ID Provider.

Checklist

  • I have tested my changes
  • Documentation updated if needed
  • If breaking change: migration path described above
  • I hereby declare this contribution to be licensed under the Apache License Version 2.0.
  • I hereby agree to grant TOSIT a copyright license to use my contributions.

#tag: 480-p01
# Currently, the UI requires the version to conform to SemVer (https://simversion.github.io/)
# https://github.com/OKDP/okdp-ui/blob/main/src/app/shared/utils/utils.ts#L131
tag: 480.0.0-p04

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You will have to increase the package tag to 480.0.0-p06 if we take the PR #28 into account.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm waiting for the previous PRs to be merged to bump the version.

@octavepre
octavepre requested review from a team July 24, 2026 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make the client registration process dynamic

2 participants