61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
{{- $ctx := dict "helm" . }}
|
|
{{- range $name, $app := .Values }}
|
|
{{- if and (kindIs "map" $app) $app.enabled ($app.service).enabled }}
|
|
{{- $service := $app.service }}
|
|
{{- $_ := set $ctx "extraLabels" $service.labels }}
|
|
{{- $_ := set $ctx "appKey" $name }}
|
|
{{- $fullname := include "vm.plain.fullname" $ctx }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
{{- with $service.annotations }}
|
|
annotations: {{ toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
labels: {{ include "vm.labels" $ctx | nindent 4 }}
|
|
{{- $_ := unset $ctx "extraLabels" }}
|
|
name: {{ $fullname }}
|
|
namespace: {{ include "vm.namespace" $ }}
|
|
spec:
|
|
{{- $type := $service.type }}
|
|
{{- if and (not $type) (eq $app.mode "statefulSet") }}
|
|
{{- $type = "ClusterIP" }}
|
|
{{- end }}
|
|
type: {{ $type }}
|
|
{{- if eq $type "ClusterIP" }}
|
|
{{- with $service.clusterIP }}
|
|
clusterIP: {{. }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- with $service.externalIPs }}
|
|
externalIPs: {{ toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
{{- with $service.loadBalancerIP }}
|
|
loadBalancerIP: {{ . }}
|
|
{{- end }}
|
|
{{- with $service.loadBalancerSourceRanges }}
|
|
loadBalancerSourceRanges: {{ toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
{{- with $service.healthCheckNodePort }}
|
|
healthCheckNodePort: {{ . }}
|
|
{{- end }}
|
|
{{- with $service.externalTrafficPolicy }}
|
|
externalTrafficPolicy: {{ . }}
|
|
{{- end }}
|
|
{{- with $service.ipFamilyPolicy }}
|
|
ipFamilyPolicy: {{ . }}
|
|
{{- end }}
|
|
{{- with $service.ipFamilies }}
|
|
ipFamilies: {{ toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
{{- with $service.trafficDistribution }}
|
|
trafficDistribution: {{ . }}
|
|
{{- end }}
|
|
{{- $portsTpl := printf "%s.ports" $name }}
|
|
{{- with include $portsTpl $app }}
|
|
ports: {{ . | nindent 4 }}
|
|
{{- end }}
|
|
selector: {{ include "vm.selectorLabels" $ctx | nindent 4 }}
|
|
{{- end }}
|
|
{{- end }}
|