mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 00:47:04 +02:00
feat(common): Release version 1.3.0 (#112)
* fix(ports): Only render ports when there are ports * fix(probes): Only render probes when there are probes * feat(sidecars): Rename additionalContainers to sidecars * chore(serviceMonitor): Add labels unittest
This commit is contained in:
parent
ac5d8422e5
commit
24f8eb5a38
23 changed files with 158 additions and 106 deletions
|
@ -4,10 +4,10 @@ It will include / inject the required templates based on the given values.
|
|||
*/}}
|
||||
{{- define "bjw-s.common.addon.codeserver" -}}
|
||||
{{- if .Values.addons.codeserver.enabled -}}
|
||||
{{/* Append the code-server container to the additionalContainers */}}
|
||||
{{/* Append the code-server container to the sidecars */}}
|
||||
{{- $container := include "bjw-s.common.addon.codeserver.container" . | fromYaml -}}
|
||||
{{- if $container -}}
|
||||
{{- $_ := set .Values.additionalContainers "addon-codeserver" $container -}}
|
||||
{{- $_ := set .Values.sidecars "addon-codeserver" $container -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Include the deployKeySecret if not empty */}}
|
||||
|
|
|
@ -4,10 +4,10 @@ It will include / inject the required templates based on the given values.
|
|||
*/}}
|
||||
{{- define "bjw-s.common.addon.netshoot" -}}
|
||||
{{- if .Values.addons.netshoot.enabled -}}
|
||||
{{/* Append the netshoot container to the additionalContainers */}}
|
||||
{{/* Append the netshoot container to the sidecars */}}
|
||||
{{- $container := include "bjw-s.common.addon.netshoot.container" . | fromYaml -}}
|
||||
{{- if $container -}}
|
||||
{{- $_ := set .Values.additionalContainers "addon-netshoot" $container -}}
|
||||
{{- $_ := set .Values.sidecars "addon-netshoot" $container -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
|
|
@ -3,9 +3,9 @@ Template to render gluetun addon. It will add the container to the list of addit
|
|||
*/}}
|
||||
*/}}
|
||||
{{- define "bjw-s.common.addon.gluetun" -}}
|
||||
{{/* Append the gluetun container to the additionalContainers */}}
|
||||
{{/* Append the gluetun container to the sidecars */}}
|
||||
{{- $container := fromYaml (include "bjw-s.common.addon.gluetun.container" .) -}}
|
||||
{{- if $container -}}
|
||||
{{- $_ := set .Values.additionalContainers "addon-gluetun" $container -}}
|
||||
{{- $_ := set .Values.sidecars "addon-gluetun" $container -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
|
|
@ -2,46 +2,66 @@
|
|||
Probes selection logic.
|
||||
*/}}
|
||||
{{- define "bjw-s.common.lib.container.probes" -}}
|
||||
{{- $primaryService := get .Values.service (include "bjw-s.common.lib.service.primary" .) -}}
|
||||
{{- $primaryPort := "" -}}
|
||||
{{- if $primaryService -}}
|
||||
{{- $primaryPort = get $primaryService.ports (include "bjw-s.common.lib.service.primaryPort" (dict "serviceName" (include "bjw-s.common.lib.service.primary" .) "values" $primaryService)) -}}
|
||||
{{- end -}}
|
||||
{{- $primaryService := get .Values.service (include "bjw-s.common.lib.service.primary" .) -}}
|
||||
{{- $primaryPort := "" -}}
|
||||
{{- if $primaryService -}}
|
||||
{{- $primaryPort = get $primaryService.ports (include "bjw-s.common.lib.service.primaryPort" (dict "serviceName" (include "bjw-s.common.lib.service.primary" .) "values" $primaryService)) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- range $probeName, $probe := .Values.probes }}
|
||||
{{- if $probe.enabled -}}
|
||||
{{- "" | nindent 0 }}
|
||||
{{- $probeName }}Probe:
|
||||
{{- if $probe.custom -}}
|
||||
{{- $probe.spec | toYaml | nindent 2 }}
|
||||
{{- else }}
|
||||
{{- if and $primaryService $primaryPort -}}
|
||||
{{- $probeType := "" -}}
|
||||
{{- if eq $probe.type "AUTO" -}}
|
||||
{{- $probeType = $primaryPort.protocol -}}
|
||||
{{- else -}}
|
||||
{{- $probeType = $probe.type | default "TCP" -}}
|
||||
{{- end }}
|
||||
{{- if or ( eq $probeType "HTTPS" ) ( eq $probeType "HTTP" ) }}
|
||||
httpGet:
|
||||
path: {{ $probe.path }}
|
||||
scheme: {{ $probeType }}
|
||||
{{- else }}
|
||||
tcpSocket:
|
||||
{{- end }}
|
||||
{{- if $probe.port }}
|
||||
port: {{ ( tpl ( $probe.port | toString ) $ ) }}
|
||||
{{- else if $primaryPort.targetPort }}
|
||||
port: {{ $primaryPort.targetPort }}
|
||||
{{- else }}
|
||||
port: {{ $primaryPort.port }}
|
||||
{{- end }}
|
||||
initialDelaySeconds: {{ $probe.spec.initialDelaySeconds }}
|
||||
failureThreshold: {{ $probe.spec.failureThreshold }}
|
||||
timeoutSeconds: {{ $probe.spec.timeoutSeconds }}
|
||||
periodSeconds: {{ $probe.spec.periodSeconds }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $probeName, $probe := .Values.probes -}}
|
||||
{{- if $probe.enabled -}}
|
||||
{{- $probeOutput := "" -}}
|
||||
{{- if $probe.custom -}}
|
||||
{{- if $probe.spec -}}
|
||||
{{- $probeOutput = $probe.spec | toYaml -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- if $primaryPort -}}
|
||||
{{- $probeType := "" -}}
|
||||
{{- if eq $probe.type "AUTO" -}}
|
||||
{{- $probeType = $primaryPort.protocol -}}
|
||||
{{- else -}}
|
||||
{{- $probeType = $probe.type | default "TCP" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $probeDefinition := dict
|
||||
"initialDelaySeconds" $probe.spec.initialDelaySeconds
|
||||
"failureThreshold" $probe.spec.failureThreshold
|
||||
"timeoutSeconds" $probe.spec.timeoutSeconds
|
||||
"periodSeconds" $probe.spec.periodSeconds
|
||||
-}}
|
||||
|
||||
{{- $probeHeader := "" -}}
|
||||
{{- if or ( eq $probeType "HTTPS" ) ( eq $probeType "HTTP" ) -}}
|
||||
{{- $probeHeader = "httpGet" -}}
|
||||
|
||||
{{- $_ := set $probeDefinition $probeHeader (
|
||||
dict
|
||||
"path" $probe.path
|
||||
"scheme" $probeType
|
||||
)
|
||||
-}}
|
||||
{{- else }}
|
||||
{{- $probeHeader = "tcpSocket" -}}
|
||||
{{- $_ := set $probeDefinition $probeHeader dict -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if $probe.port }}
|
||||
{{- $_ := set (index $probeDefinition $probeHeader) "port" (tpl ( $probe.port | toString ) $) -}}
|
||||
{{- else if $primaryPort.targetPort }}
|
||||
{{- $_ := set (index $probeDefinition $probeHeader) "port" $primaryPort.targetPort -}}
|
||||
{{- else }}
|
||||
{{- $_ := set (index $probeDefinition $probeHeader) "port" $primaryPort.port -}}
|
||||
{{- end }}
|
||||
|
||||
{{- $probeOutput = $probeDefinition | toYaml | trim -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if $probeOutput -}}
|
||||
{{- printf "%sProbe:" $probeName | nindent 0 -}}
|
||||
{{- $probeOutput | nindent 2 -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
|
|
@ -42,8 +42,10 @@
|
|||
envFrom:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with (include "bjw-s.common.lib.container.ports" . | trim) }}
|
||||
ports:
|
||||
{{- include "bjw-s.common.lib.container.ports" . | trim | nindent 4 }}
|
||||
{{- nindent 4 . }}
|
||||
{{- end }}
|
||||
{{- with (include "bjw-s.common.lib.container.volumeMounts" . | trim) }}
|
||||
volumeMounts:
|
||||
{{- nindent 4 . }}
|
||||
|
|
|
@ -62,8 +62,8 @@ initContainers:
|
|||
{{- end }}
|
||||
containers:
|
||||
{{- include "bjw-s.common.lib.controller.mainContainer" . | nindent 2 }}
|
||||
{{- with .Values.additionalContainers }}
|
||||
{{- $additionalContainers := list }}
|
||||
{{- with (merge .Values.sidecars .Values.additionalContainers) }}
|
||||
{{- $sidecarContainers := list }}
|
||||
{{- range $name, $container := . }}
|
||||
{{- if not $container.name -}}
|
||||
{{- $_ := set $container "name" $name }}
|
||||
|
@ -74,9 +74,9 @@ containers:
|
|||
{{- $_ := set $container "env" $newEnv.env }}
|
||||
{{- $_ := unset $.ObjectValues "envVars" -}}
|
||||
{{- end }}
|
||||
{{- $additionalContainers = append $additionalContainers $container }}
|
||||
{{- $sidecarContainers = append $sidecarContainers $container }}
|
||||
{{- end }}
|
||||
{{- tpl (toYaml $additionalContainers) $ | nindent 2 }}
|
||||
{{- tpl (toYaml $sidecarContainers) $ | nindent 2 }}
|
||||
{{- end }}
|
||||
{{- with (include "bjw-s.common.lib.controller.volumes" . | trim) }}
|
||||
volumes:
|
||||
|
|
|
@ -5,6 +5,7 @@ Merge the local chart values and the common chart defaults
|
|||
{{- if .Values.common -}}
|
||||
{{- $defaultValues := deepCopy .Values.common -}}
|
||||
{{- $userValues := deepCopy (omit .Values "common") -}}
|
||||
{{- $_ := set $defaultValues "additionalContainers" dict -}}
|
||||
{{- $mergedValues := mustMergeOverwrite $defaultValues $userValues -}}
|
||||
{{- $_ := set . "Values" (deepCopy $mergedValues) -}}
|
||||
{{- end -}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue