diff --git a/charts/ocean-kubernetes-controller/README.md b/charts/ocean-kubernetes-controller/README.md index 2ad4354..517e4f7 100644 --- a/charts/ocean-kubernetes-controller/README.md +++ b/charts/ocean-kubernetes-controller/README.md @@ -59,6 +59,8 @@ helm install spot spot/ocean-kubernetes-controller \ Kubernetes: `>=1.20.0-0` +Helm: `>=3.9.0` + | Repository | Name | Version | |------------|------|---------| | https://kubernetes-sigs.github.io/metrics-server | metrics-server | 3.11.0 | diff --git a/charts/ocean-kubernetes-controller/templates/_helpers.tpl b/charts/ocean-kubernetes-controller/templates/_helpers.tpl index 1f3e477..754d921 100644 --- a/charts/ocean-kubernetes-controller/templates/_helpers.tpl +++ b/charts/ocean-kubernetes-controller/templates/_helpers.tpl @@ -352,4 +352,18 @@ or if another log shipping destination host is specified. true {{- end }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }} + +{{/* +This function validates the Helm version. It checks if the Helm version is 3.7 or higher. +If the Helm version is less than 3.7, it will cause the Helm operation to fail with an error message. +*/}} +{{- define "ocean-kubernetes-controller.validateHelmVersion" -}} +{{- $helmVersion := .Capabilities.HelmVersion.Version }} +{{- if $helmVersion -}} +{{- if semverCompare ">=v3.9.0" (semver $helmVersion).String -}} +{{- else -}} +{{- fail "Helm version 3.9.0 or higher is required to install this chart" -}} +{{- end -}} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/ocean-kubernetes-controller/templates/deployment.yaml b/charts/ocean-kubernetes-controller/templates/deployment.yaml index b52127d..9382dbc 100644 --- a/charts/ocean-kubernetes-controller/templates/deployment.yaml +++ b/charts/ocean-kubernetes-controller/templates/deployment.yaml @@ -1,3 +1,4 @@ +{{ include "ocean-kubernetes-controller.validateHelmVersion" . }} {{ include "ocean-kubernetes-controller.deployMetricsServer" . }} apiVersion: apps/v1 kind: Deployment