-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
feat(helm): Add schema of values in Helm Chart #18161
Conversation
@craig-rueda could you take a look as maintainer of Chart? superset/helm/superset/Chart.yaml Lines 21 to 24 in fa104fe
|
Thanks for the submission! Can you add a |
We have already one: superset/.github/workflows/superset-helm-lint.yml Lines 41 to 45 in 2491b89
I confirmed that
I confirmed also that it successfully running on CI, so I wrote in the original pull request description:
|
* Add schema of values in Helm Chart * chore(helm): bump our Chart version * Fix schema values in Helm Chart * fix(helm): fix relax required parameters for postgres & redis password, apply review comments
* Add schema of values in Helm Chart * chore(helm): bump our Chart version * Fix schema values in Helm Chart * fix(helm): fix relax required parameters for postgres & redis password, apply review comments
* Add schema of values in Helm Chart * chore(helm): bump our Chart version * Fix schema values in Helm Chart * fix(helm): fix relax required parameters for postgres & redis password, apply review comments
SUMMARY
I added schema validation for
values.yaml
as designed in #18127. My goal was to add a basic schema and then gradually expand it. I attempt to use remote schemas wherever possible.I can see that overwhelmingly required fields may appear now. Removing these requirements requires very careful verification in multiple parameters that the Helm Chart is prepared to render without the parameter, which I intend to do when we work on the rendering tests.
I see that the provided schema can document more (more field descriptions, examples etc.), but I leave it for the next PR to do small steps together.
I think it's better to agree on the structure and notation of the schema and then relax & extend when working with Helm Chart is less fragile (more tests added).
I am aware that installation on air-gapped environments (due to the need to download remote schematics) will be blocked. However, I would also leave that for the next PR to make this PR easier to review.
If I had the permission to create a new branch in the
apache/superset
repository, I would create this PR against the feature branch, because the primary goal is to get insights on the approach, and the space for development is significant. However, I believe that this code already provides some value and is functional.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A
TESTING INSTRUCTIONS
You might change
values.yaml
and executehelm lint
to make sure that linting errors are raised.For the purpose, I keep in that PR two commits to ensure that CI detect mismatch
values.yaml
tovalues.schema.json
thanks to.github/workflows/superset-helm-lint.yml
. If it turns out otherwise - I will update that PR.ADDITIONAL INFORMATION
@wiktor2200 @mvoitko might be interested in that area as involved in development of our Helm Chart.
@mik-laj @potiuk @kaxil may want to share their thoughts based on their involvement in the discussion in #18127.