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

Improve config validation and editing #1122

Open
thomasdarimont opened this issue Aug 6, 2024 · 3 comments
Open

Improve config validation and editing #1122

thomasdarimont opened this issue Aug 6, 2024 · 3 comments
Assignees

Comments

@thomasdarimont
Copy link
Contributor

thomasdarimont commented Aug 6, 2024

Problem Statement

Currently keycloak-config-cli can detect configuration errors like missing or unknown attribute only when running against keycloak. Also when editing config files, user have to know upfront which properties are supported which is errorprone and time consuming.

Proposed Solution

It would be helpful if there were some schema support to help with the validation during editing. The schema could also be used to provide code completion in IDEs (vscode and intellij).

One way to implement this is to extract the schemes for the representations from the https://www.keycloak.org/docs-api/latest/rest-api/openapi.json OpenAPI spec and use it to validate the configuration file.

It might be necessary to generate Keycloak version specific schema files. Additionally the user should be able to supply the used Keycloak version to automatically use the proper schema file.

keycloak-config-cli should provide a "lint" command to check the configuration for potential unsupported / misspell properties.

Environment

no_response

Additional information

YAML validation with JSON Schema in IntelliJ
YAML validation with JSON Schema in vscode

Acceptance Criteria

Configuration files can be validated automatically before applying a configuration against a Keycloak environment.
Users can get auto-completion for allowed configuration properities.

@Motouom
Copy link
Collaborator

Motouom commented Dec 16, 2024

Hello @thomasdarimont.

Did you do any progess on this ticket or should we work on this. If yes, we will start reseaching on how to infer a json schema from an openapi file.

@thomasdarimont
Copy link
Contributor Author

I didn't have time to work on this.
Feel free to give this a spin!

@Motouom Motouom self-assigned this Dec 16, 2024
@Motouom Motouom moved this from Todo to In Progress in os-competence-center-board Dec 16, 2024
@Motouom
Copy link
Collaborator

Motouom commented Dec 16, 2024

Hello @thomasdarimont

I have already done most of the validations config and editing, I just have a few other validations(specific validations to add. I wish to ask if you have any idea on wether we can do it in such a way that, once the user opens the JSON or yaml config file, it should automatically be set to the JSON schema that is meant to kc-cli?

@Motouom Motouom moved this from In Progress to Review in os-competence-center-board Dec 17, 2024
@Motouom Motouom moved this from Review to Awaiting Feedback in os-competence-center-board Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Awaiting Feedback
Development

No branches or pull requests

2 participants