blob: c858d1c57fb825d12d5f7111e969d78d7b51834e [file] [log] [blame]
giolekva2e443222020-06-25 18:46:46 +04001---
2apiVersion: v1
3kind: Service
4metadata:
5 name: pihole
6 namespace: pihole
7spec:
8 type: ClusterIP
9 selector:
10 app: pihole
11 ports:
12 - name: http
13 port: 80
14 targetPort: 80
15 protocol: TCP
16 - name: https
17 port: 443
18 targetPort: 443
19 protocol: TCP
20---
21apiVersion: v1
22kind: Service
23metadata:
24 name: pihole-tpc
25 namespace: pihole
26spec:
27 type: LoadBalancer
28 selector:
29 app: pihole
30 ports:
31 - name: dnstcp
32 port: 53
33 targetPort: 53
34 protocol: TCP
35---
36apiVersion: v1
37kind: Service
38metadata:
39 name: pihole-udp
40 namespace: pihole
41spec:
42 type: LoadBalancer
43 selector:
44 app: pihole
45 ports:
46 - name: dnsudp
47 port: 53
48 targetPort: 53
49 protocol: UDP
50 - name: dhcp
51 port: 67
52 targetPort: 67
53 protocol: UDP
54---
55apiVersion: traefik.containo.us/v1alpha1
56kind: IngressRoute
57metadata:
58 name: ingress
59 namespace: pihole
60spec:
61 entryPoints:
62 - web
63 routes:
64 - kind: Rule
65 match: Host(`pihole`)
66 services:
67 - kind: Service
68 name: pihole
69 namespace: pihole
70 passHostHeader: true
71 port: 80
72---
73apiVersion: apps/v1
74kind: StatefulSet
75metadata:
76 name: pihole
77 namespace: pihole
78spec:
79 selector:
80 matchLabels:
81 app: pihole
82 serviceName: pihole
83 replicas: 1
84 template:
85 metadata:
86 labels:
87 app: pihole
88 spec:
89 containers:
90 - name: pihole
91 image: pihole/pihole:latest
92 imagePullPolicy: Always
93 ports:
94 - containerPort: 53
95 - containerPort: 67
96 - containerPort: 80
97 - containerPort: 443
98 volumeMounts:
99 - name: pihole
100 mountPath: /etc/pihole/
101 - name: dnsmasq
102 mountPath: /etc/dnsmasq.d/
103 env:
104 - name: WEBPASSWORD
105 value: "1234"
106 - name: VIRTUAL_HOST
107 value: pihole
108 - name: TZ
109 value: "Asia/Tbilisi"
110 # Needed for DHCP
111 # securityContext:
112 # capabilities:
113 # add: ["NET_ADMIN"]
114 volumeClaimTemplates:
115 - metadata:
116 name: pihole
117 spec:
118 accessModes: [ "ReadWriteOnce" ]
119 storageClassName: "local-path"
120 resources:
121 requests:
122 storage: 100Mi
123 - metadata:
124 name: dnsmasq
125 spec:
126 accessModes: [ "ReadWriteOnce" ]
127 storageClassName: "local-path"
128 resources:
129 requests:
130 storage: 100Mi