blob: ace46032f368e3fa597070dc10dfd85fb222a00d [file] [log] [blame]
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +04001apiVersion: v1
2kind: Service
3metadata:
4 name: {{ template "pihole.fullname" . }}-web
5 labels:
6 app: {{ template "pihole.name" . }}
7 chart: {{ template "pihole.chart" . }}
8 release: {{ .Release.Name }}
9 heritage: {{ .Release.Service }}
10{{- if .Values.serviceWeb.annotations }}
11 annotations:
12{{ toYaml .Values.serviceWeb.annotations | indent 4 }}
13{{- end }}
14spec:
15 type: {{ .Values.serviceWeb.type }}
16 {{- if and (.Values.dualStack.enabled) (not (eq .Values.serviceWeb.type "LoadBalancer")) }}
17 ipFamilies:
18 - IPv4
19 - IPv6
20 ipFamilyPolicy: PreferDualStack
21 {{- end }}
22 {{- if .Values.serviceWeb.loadBalancerIP }}
23 loadBalancerIP: {{ .Values.serviceWeb.loadBalancerIP }}
24 {{- end }}
25 {{- if or (eq .Values.serviceWeb.type "NodePort") (eq .Values.serviceWeb.type "LoadBalancer") }}
26 externalTrafficPolicy: {{ .Values.serviceWeb.externalTrafficPolicy }}
27 {{- end }}
28 ports:
29 {{- if .Values.serviceWeb.http.enabled }}
30 - port: {{ .Values.serviceWeb.http.port }}
31 targetPort: http
32 {{- if and (.Values.serviceWeb.http.nodePort) (eq .Values.serviceWeb.type "NodePort") }}
33 nodePort: {{ .Values.serviceWeb.http.nodePort }}
34 {{- end }}
35 protocol: TCP
36 name: http
37 {{- end }}
38 {{- if .Values.serviceWeb.https.enabled }}
39 - port: {{ .Values.serviceWeb.https.port }}
40 targetPort: https
41 {{- if and (.Values.serviceWeb.https.nodePort) (eq .Values.serviceWeb.type "NodePort") }}
42 nodePort: {{ .Values.serviceWeb.https.nodePort }}
43 {{- end }}
44 protocol: TCP
45 name: https
46 {{- end }}
47 {{- if .Values.doh.enabled }}
48 - port: 49312
49 protocol: TCP
50 name: cloudflared-met
51 {{- end }}
52 selector:
53 app: {{ template "pihole.name" . }}
54 release: {{ .Release.Name }}
55---
56{{- if and (.Values.dualStack.enabled) (eq .Values.serviceWeb.type "LoadBalancer") -}}
57apiVersion: v1
58kind: Service
59metadata:
60 name: {{ template "pihole.fullname" . }}-web-ipv6
61 labels:
62 app: {{ template "pihole.name" . }}
63 chart: {{ template "pihole.chart" . }}
64 release: {{ .Release.Name }}
65 heritage: {{ .Release.Service }}
66{{- if .Values.serviceWeb.annotations }}
67 annotations:
68{{ toYaml .Values.serviceWeb.annotations | indent 4 }}
69{{- end }}
70spec:
71 type: {{ .Values.serviceWeb.type }}
72 ipFamilies:
73 - IPv6
74 ipFamilyPolicy: SingleStack
75 {{- if .Values.serviceWeb.loadBalancerIPv6 }}
76 loadBalancerIP: {{ .Values.serviceWeb.loadBalancerIPv6 }}
77 {{- end }}
78 {{- if or (eq .Values.serviceWeb.type "NodePort") (eq .Values.serviceWeb.type "LoadBalancer") }}
79 externalTrafficPolicy: {{ .Values.serviceWeb.externalTrafficPolicy }}
80 {{- end }}
81 ports:
82 {{- if .Values.serviceWeb.http.enabled }}
83 - port: {{ .Values.serviceWeb.http.port }}
84 targetPort: http
85 protocol: TCP
86 name: http
87 {{- end }}
88 {{- if .Values.serviceWeb.https.enabled }}
89 - port: {{ .Values.serviceWeb.https.port }}
90 targetPort: https
91 protocol: TCP
92 name: https
93 {{- end }}
94 {{- if .Values.doh.enabled }}
95 - port: 49312
96 protocol: TCP
97 name: cloudflared-met
98 {{- end }}
99 selector:
100 app: {{ template "pihole.name" . }}
101 release: {{ .Release.Name }}
102{{- end }}