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 · 0 comments
Open

Improve config validation and editing #1122

thomasdarimont opened this issue Aug 6, 2024 · 0 comments

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

1 participant