helm-charts/charts/library/common/templates/lib/container/_probes.tpl
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs ae4233c77f
feat(common)!: Release version 1.0.0 (#68)
- Removed: **BREAKING**: Removed support for HorizontalPodAutoscaler
- Added: Support services have extraSelectorLabels (#58)
- Added: support for `httpGet` probes
- Added: support for setting labels / annotations on volumeClaimTemplates
- Changed: **BREAKING**: Restructure of template components. All Helm templates have been renamed / namespaced. E.g. `common.values.setup` has now become `bjw-s.common.loader.init`.
- Changed: **BREAKING**: Raised minimum supported k8s version to 1.22
- Changed: **BREAKING**: Renamed `configmap` key to `configMaps`
- Changed: **BREAKING**: Moved `serviceMonitor` from `service` to its own key
- Changed: **BREAKING**: Renamed `secret` key to `secrets`, which now works similar to `configMaps`
- Changed: Updated code-server image to v4.8.2
- Changed: Updated gluetun image to v3.32.0
- Fixed: Fix NOTES always showing ingress protocol as http (#62)

Signed-off-by: Gavin Mogan <git@gavinmogan.com>
Co-authored-by: Gavin Mogan <github@gavinmogan.com>
Co-authored-by: Gabe Cook <gabe565@gmail.com>
2022-11-03 11:41:35 +01:00

47 lines
1.6 KiB
Smarty

{{/*
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 -}}
{{- 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 }}