jupyter-server / enterprise_gateway

A lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes and others.
https://jupyter-enterprise-gateway.readthedocs.io/en/latest/
Other
620 stars 223 forks source link

Helm chart doesn't pass helm's lint check in dev #1074

Closed kevin-bates closed 2 years ago

kevin-bates commented 2 years ago

Description

When using the helm chart from the primary branch (i.e., during development), the chart will not pass the helm lint check due to its semantic versioning check - as reported here: https://github.com/jupyter-server/enterprise_gateway/pull/1073#discussion_r849543939.

Since appVersion doesn't require semantic version syntax and is meant to represent the "hosted" application's version, we should move the value of version to appVersion and make version a function of when Chart.yaml (or associated files) are updated.

This will require changes to the release script as well.

Reproduce

  1. Go to 'etc/kubernetes/helm'
  2. Run helm lint enterprise-gateway
$ helm lint enterprise-gateway
==> Linting enterprise-gateway
[ERROR] Chart.yaml: version '3.0.0.dev0' is not a valid SemVer

Error: 1 chart(s) linted, 1 chart(s) failed

Expected behavior

helm lint should not produce errors.

darkstarmv commented 2 years ago

probably should add helm lint to the make script and use helm package instead of tar:


$ helm lint ./enterprise_gateway/./etc/kubernetes/helm/enterprise-gateway
--
2 | ==> Linting ./enterprise_gateway/./etc/kubernetes/helm/enterprise-gateway
3 |  
4 | 1 chart(s) linted, 0 chart(s) failed
5 | $ helm package --version=0.4.104 ./enterprise_gateway/./etc/kubernetes/helm/enterprise-gateway
6 | Successfully packaged chart and saved it to: /src/git.target.com/Kubernetes/external-helm-chart/enterprise-gateway-0.4.104.tgz
kevin-bates commented 2 years ago

I see. So helm package is the preferred way to distribute the set of "chart files"?

Since version (and appVersion) are specified in the Chart.yaml, I'm assuming they're not required on the command-line, correct?

kevin-bates commented 2 years ago

Closing via #1073.