54 lines
2.6 KiB
Smarty
Raw Permalink Normal View History

{{/* Checks if a V1 values file was used */}}
{{- define "validations.checkForV1" }}
{{- if (index .Values "externalServices") }}
{{- $msg := list "" "The Helm chart values appears to be from version 1.x of the k8s-monitoring Helm chart." }}
{{- $msg = append $msg "To continue using version 1.x, add this to your helm command:" }}
{{- $msg = append $msg " --version ^1" }}
{{- $msg = append $msg "" }}
{{- $msg = append $msg "If you'd like to migrate to version 2.0, see the Migration guide:" }}
{{- $msg = append $msg " https://github.com/grafana/k8s-monitoring-helm/blob/main/charts/k8s-monitoring/docs/Migration.md" }}
{{- fail (join "\n" $msg) }}
{{- end }}
{{- end }}
{{/* Checks that the cluster name is defined */}}
{{- define "validations.cluster_name" }}
{{- if or (not .Values.cluster) (not .Values.cluster.name) }}
{{- $msg := list "" "A Cluster name is required!" }}
{{- $msg = append $msg "Please set:" }}
{{- $msg = append $msg "cluster:" }}
{{- $msg = append $msg " name: my-cluster-name" }}
{{- fail (join "\n" $msg) }}
{{- end }}
{{- end }}
{{/* Checks that at least one feature is enabled */}}
{{- define "validations.features_enabled" }}
{{ $aFeatureIsEnabled := false }}
{{- range $feature := ((include "features.list" .) | fromYamlArray ) }}
{{- $aFeatureIsEnabled = or $aFeatureIsEnabled (eq (include (printf "features.%s.enabled" $feature) $) "true") }}
{{- end }}
{{- range $collector := ((include "collectors.list" .) | fromYamlArray ) }}
{{- $aFeatureIsEnabled = or $aFeatureIsEnabled ((index $.Values $collector).remoteConfig.enabled) }}
{{- $aFeatureIsEnabled = or $aFeatureIsEnabled ((index $.Values $collector).extraConfig) }}
{{- end }}
{{- if not $aFeatureIsEnabled }}
{{- $msg := list "" "No features are enabled. Please choose a feature to start monitoring. For example:" }}
{{- $msg = append $msg "clusterMetrics:" }}
{{- $msg = append $msg " enabled: true" }}
{{- $msg = append $msg "" }}
{{- $msg = append $msg "See https://github.com/grafana/k8s-monitoring-helm/blob/main/charts/k8s-monitoring/docs/Features.md for the list of available features." }}
{{- fail (join "\n" $msg) }}
{{- end }}
{{- end }}
{{/* Checks for platform settings */}}
{{- define "validations.platform" }}
{{- if and (not (eq .Values.global.platform "openshift")) (.Capabilities.APIVersions.Has "security.openshift.io/v1/SecurityContextConstraints") }}
{{- $msg := list "" "This Kubernetes cluster appears to be OpenShift. Please set the platform to enable compatibility:" }}
{{- $msg = append $msg "global:" }}
{{- $msg = append $msg " platform: openshift" }}
{{- fail (join "\n" $msg) }}
{{- end }}
{{- end }}