1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- {{/* vim: set filetype=mustache: */}}
- {{/*
- Return the target Kubernetes version
- */}}
- {{- define "common.capabilities.kubeVersion" -}}
- {{- if .Values.global }}
- {{- if .Values.global.kubeVersion }}
- {{- .Values.global.kubeVersion -}}
- {{- else }}
- {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
- {{- end -}}
- {{- else }}
- {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
- {{- end -}}
- {{- end -}}
- {{/*
- Return the appropriate apiVersion for deployment.
- */}}
- {{- define "common.capabilities.deployment.apiVersion" -}}
- {{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "extensions/v1beta1" -}}
- {{- else -}}
- {{- print "apps/v1" -}}
- {{- end -}}
- {{- end -}}
- {{/*
- Return the appropriate apiVersion for statefulset.
- */}}
- {{- define "common.capabilities.statefulset.apiVersion" -}}
- {{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "apps/v1beta1" -}}
- {{- else -}}
- {{- print "apps/v1" -}}
- {{- end -}}
- {{- end -}}
- {{/*
- Return the appropriate apiVersion for ingress.
- */}}
- {{- define "common.capabilities.ingress.apiVersion" -}}
- {{- if .Values.ingress -}}
- {{- if .Values.ingress.apiVersion -}}
- {{- .Values.ingress.apiVersion -}}
- {{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "extensions/v1beta1" -}}
- {{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "networking.k8s.io/v1beta1" -}}
- {{- else -}}
- {{- print "networking.k8s.io/v1" -}}
- {{- end }}
- {{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "extensions/v1beta1" -}}
- {{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "networking.k8s.io/v1beta1" -}}
- {{- else -}}
- {{- print "networking.k8s.io/v1" -}}
- {{- end -}}
- {{- end -}}
- {{/*
- Return the appropriate apiVersion for RBAC resources.
- */}}
- {{- define "common.capabilities.rbac.apiVersion" -}}
- {{- if semverCompare "<1.17-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "rbac.authorization.k8s.io/v1beta1" -}}
- {{- else -}}
- {{- print "rbac.authorization.k8s.io/v1" -}}
- {{- end -}}
- {{- end -}}
- {{/*
- Return the appropriate apiVersion for CRDs.
- */}}
- {{- define "common.capabilities.crd.apiVersion" -}}
- {{- if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}}
- {{- print "apiextensions.k8s.io/v1beta1" -}}
- {{- else -}}
- {{- print "apiextensions.k8s.io/v1" -}}
- {{- end -}}
- {{- end -}}
- {{/*
- Returns true if the used Helm version is 3.3+.
- A way to check the used Helm version was not introduced until version 3.3.0 with .Capabilities.HelmVersion, which contains an additional "{}}" structure.
- This check is introduced as a regexMatch instead of {{ if .Capabilities.HelmVersion }} because checking for the key HelmVersion in <3.3 results in a "interface not found" error.
- **To be removed when the catalog's minimun Helm version is 3.3**
- */}}
- {{- define "common.capabilities.supportsHelmVersion" -}}
- {{- if regexMatch "{(v[0-9])*[^}]*}}$" (.Capabilities | toString ) }}
- {{- true -}}
- {{- end -}}
- {{- end -}}
|