helm-charts/charts/library/common/templates/lib/serviceMonitor/_validate.tpl
2025-06-11 14:09:46 +00:00

25 lines
1.1 KiB
Smarty

{{/*
Validate serviceMonitor values
*/}}
{{- define "bjw-s.common.lib.serviceMonitor.validate" -}}
{{- $rootContext := .rootContext -}}
{{- $serviceMonitorObject := .object -}}
{{- $enabledServices := (include "bjw-s.common.lib.service.enabledServices" (dict "rootContext" $rootContext) | fromYaml ) -}}
{{/* Verify automatic controller detection */}}
{{- if not (eq 1 (len $enabledServices)) -}}
{{- if and
(empty (dig "selector" nil $serviceMonitorObject))
(empty (dig "serviceName" nil $serviceMonitorObject))
(empty (dig "service" "name" nil $serviceMonitorObject))
(empty (dig "service" "identifier" nil $serviceMonitorObject))
-}}
{{- fail (printf "Either service.name or service.identifier is required because automatic Service detection is not possible. (serviceMonitor: %s)" $serviceMonitorObject.identifier ) -}}
{{- end -}}
{{- end -}}
{{- if not $serviceMonitorObject.endpoints -}}
{{- fail (printf "endpoints are required for serviceMonitor with key \"%v\"" $serviceMonitorObject.identifier) -}}
{{- end -}}
{{- end -}}