147 lines
4.4 KiB
Smarty
147 lines
4.4 KiB
Smarty
{{/*
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
`SPDX-License-Identifier: Apache-2.0`
|
|
|
|
This file is considered to be modified by the TrueCharts Project.
|
|
*/}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for DaemonSet objects.
|
|
*/}}
|
|
{{- define "common.capabilities.daemonset.apiVersion" -}}
|
|
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
|
{{- print "extensions/v1beta1" -}}
|
|
{{- else -}}
|
|
{{- print "apps/v1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Waiting on https://github.com/helm/helm/pull/8608
|
|
{{- define "common.capabilities.daemonset.apiVersion" -}}
|
|
{{- if .Capabilities.APIVersions.Has "apps/v1/DaemonSet" -}}
|
|
{{- print "apps/v1" -}}
|
|
{{- else -}}
|
|
{{- print "extensions/v1beta1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
*/}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for Deployment objects.
|
|
*/}}
|
|
{{- define "common.capabilities.deployment.apiVersion" -}}
|
|
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
|
{{- print "extensions/v1beta1" -}}
|
|
{{- else -}}
|
|
{{- print "apps/v1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Waiting on https://github.com/helm/helm/pull/8608
|
|
{{- define "common.capabilities.deployment.apiVersion" -}}
|
|
{{- if .Capabilities.APIVersions.Has "apps/v1/Deployment" -}}
|
|
{{- print "apps/v1" -}}
|
|
{{- else -}}
|
|
{{- print "extensions/v1beta1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
*/}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for StatefulSet objects.
|
|
*/}}
|
|
{{- define "common.capabilities.statefulset.apiVersion" -}}
|
|
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
|
{{- print "apps/v1beta1" -}}
|
|
{{- else -}}
|
|
{{- print "apps/v1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Waiting on https://github.com/helm/helm/pull/8608
|
|
{{- define "common.capabilities.statefulset.apiVersion" -}}
|
|
{{- if .Capabilities.APIVersions.Has "apps/v1/StatefulSet" -}}
|
|
{{- print "apps/v1" -}}
|
|
{{- else -}}
|
|
{{- print "apps/v1beta1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
*/}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for Ingress objects.
|
|
*/}}
|
|
|
|
{{- define "common.capabilities.ingress.apiVersion" -}}
|
|
{{- if .Values.ingress.apiVersion -}}
|
|
{{- .Values.ingress.apiVersion -}}
|
|
{{- else if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
|
{{- print "extensions/v1beta1" -}}
|
|
{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion -}}
|
|
{{- print "networking.k8s.io/v1beta1" -}}
|
|
{{- else -}}
|
|
{{- print "networking.k8s.io/v1" -}}
|
|
{{- end }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Waiting on https://github.com/helm/helm/pull/8608
|
|
{{- define "common.capabilities.ingress.apiVersion" -}}
|
|
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" -}}
|
|
{{- print "networking.k8s.io/v1" -}}
|
|
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress" -}}
|
|
{{- print "networking.k8s.io/v1beta1" -}}
|
|
{{- else -}}
|
|
{{- print "extensions/v1beta1" -}}
|
|
{{- 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 -}}
|