-
Notifications
You must be signed in to change notification settings - Fork 47
[SPARK-52118] Enforce Helm Chart configuration value verification
#196
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
Conversation
|
cc @jiangzho |
Helm Chart configuration value verification
|
Could you review this PR, @peter-toth ? |
| }, | ||
| "digest": { | ||
| "type": "string", | ||
| "description": "Docker image digest, takes precedence over tag if set" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tag is required above. But when digest is provided, we don't need tag?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If both are set, tag will be ignored semantically, but tag field is still required.
peter-toth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good with the current chart:
% helm lint
==> Linting .
1 chart(s) linted, 0 chart(s) failed
But checked with an invalid one as well:
% helm lint
==> Linting .
[ERROR] values.yaml: - image: tag is required
[ERROR] templates/: values don't meet the specifications of the schema(s) in the following chart(s):
spark-kubernetes-operator:
- image: tag is required
Error: 1 chart(s) linted, 1 chart(s) failed
|
Thank you, @viirya and @peter-toth ! |
### What changes were proposed in this pull request? This PR aims to change `Helm Chart` version from `0.2.0-SNAPSHOT` to `1.0.0-dev` and revise the description as a part of official release of this chart `1.0.0`. ### Why are the changes needed? Like [Apache Airflow example](https://github.com/apache/airflow/blob/2d56d2626c84089f156a56137647498a6ad2ee7a/chart/Chart.yaml#L20-L24), `Helm Chart` version is independently managed from the application versions (which is Apache Spark K8s Operator). ```yaml apiVersion: v2 name: airflow version: 1.17.0-dev appVersion: 3.0.0 description: The official Helm chart to deploy Apache Airflow, a platform to programmatically author, schedule, and monitor workflows ``` As a part of the following series of Helm Chart improvement, I believe we are ready to set `1.0.0` for Helm Chart itself at next release, Apache Spark K8s Operator v0.2.0. - #190 - #196 - #191 - #194 ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Pass the CIs and manual review. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #197 from dongjoon-hyun/SPARK-52133. Authored-by: Dongjoon Hyun <[email protected]> Signed-off-by: Dongjoon Hyun <[email protected]>
What changes were proposed in this pull request?
This PR aims to elevate the quality and maintainability of
Helm Chartby introducing a layer of strict validation for user-provided configurations.Why are the changes needed?
By providing
values.schema.jsonfile, we can define and validate the expected configuration values that a user can provide to customize a chart's deployment. This will help the users by preventing mistakes and improving reliability.Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.