mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 08:57:04 +02:00
feat(common): Release common v4.1.0 (#416)
This commit is contained in:
parent
f3660654f4
commit
db552e2dee
52 changed files with 705 additions and 129 deletions
|
@ -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 -}}
|
|
@ -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 -}}
|
||||
|
|
|
@ -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 -}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue