feat(common): Release common v4.1.0 (#416)

This commit is contained in:
Bernd Schorgers 2025-06-11 16:09:46 +02:00 committed by GitHub
parent f3660654f4
commit db552e2dee
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
52 changed files with 705 additions and 129 deletions

View file

@ -0,0 +1,21 @@
{{/*
Autodetects the service for a ServiceMonitors object
*/}}
{{- define "bjw-s.common.lib.serviceMonitor.autoDetectService" -}}
{{- $rootContext := .rootContext -}}
{{- $serviceMonitorObject := .object -}}
{{- $enabledServices := (include "bjw-s.common.lib.service.enabledServices" (dict "rootContext" $rootContext) | fromYaml ) -}}
{{- if 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))
-}}
{{- $_ := set $serviceMonitorObject "service" (dict "identifier" ($enabledServices | keys | first)) -}}
{{- end -}}
{{- end -}}
{{- $serviceMonitorObject | toYaml -}}
{{- end -}}

View file

@ -7,7 +7,7 @@ Return the enabled serviceMonitors.
{{- range $identifier, $serviceMonitor := $rootContext.Values.serviceMonitor -}}
{{- if kindIs "map" $serviceMonitor -}}
{{- /* Enable Service by default, but allow override */ -}}
{{- /* Enable serviceMonitors by default, but allow override */ -}}
{{- $serviceMonitorEnabled := true -}}
{{- if hasKey $serviceMonitor "enabled" -}}
{{- $serviceMonitorEnabled = $serviceMonitor.enabled -}}
@ -19,5 +19,11 @@ Return the enabled serviceMonitors.
{{- end -}}
{{- end -}}
{{- range $identifier, $objectValues := $enabledServiceMonitors -}}
{{- $object := include "bjw-s.common.lib.valuesToObject" (dict "rootContext" $rootContext "id" $identifier "values" $objectValues "itemCount" (len $enabledServiceMonitors)) | fromYaml -}}
{{- $object = include "bjw-s.common.lib.serviceMonitor.autoDetectService" (dict "rootContext" $rootContext "object" $object) | fromYaml -}}
{{- $_ := set $enabledServiceMonitors $identifier $object -}}
{{- end -}}
{{- $enabledServiceMonitors | toYaml -}}
{{- end -}}

View file

@ -5,6 +5,20 @@ Validate serviceMonitor values
{{- $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 -}}