Files
cluster/services/adguard/app.yaml
T
2026-10-16 17:17:14 +02:00

99 lines
2.2 KiB
YAML

# services/<naam>/app.yaml
apiVersion: v1
kind: Namespace
metadata:
name: adguard
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: adguard-config
namespace: adguard
spec:
storageClassName: nfs-client # NFS vanaf Proxmox — Bijlage A
accessModes: [ReadWriteMany]
resources:
requests:
storage: 5Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: adguard
namespace: adguard
spec:
selector:
matchLabels: {app: adguard}
template:
metadata:
labels: {app: adguard}
spec:
containers:
- name: adguard
image: adguard/adguardhome:v0.107.79 # pin de tag! (Renovate houdt ze bij)
args: ["-c", "/opt/adguardhome/work/AdGuardHome.yaml", "-w", "/opt/adguardhome/work"]
ports:
- containerPort: 53 #dns
name: dns
protocol: UDP
- containerPort: 3000 #initial setup
name: http-initial
- containerPort: 80 #web gui
name: http
protocol: TCP
volumeMounts:
- name: adguard-config
mountPath: /opt/adguardhome/work
volumes:
- name: adguard-config
persistentVolumeClaim:
claimName: adguard-config
---
apiVersion: v1
kind: Service
metadata:
name: adguard-service
namespace: adguard
spec:
selector:
app: adguard
ports:
- protocol: TCP
port: 3000
targetPort: 3000
name: http-initial
- protocol: TCP
port: 80
targetPort: 80
name: http # intern op 80 zetten is handig
---
# toevoegen in service.yaml — DNS op de node zelf
apiVersion: v1
kind: Service
metadata:
name: adguard-dns
namespace: adguard
spec:
type: LoadBalancer # klipper bindt poort 53 op de node(s)
selector: {app: adguard}
ports:
- {name: dns-tcp, port: 53, targetPort: 53, protocol: TCP}
- {name: dns-udp, port: 53, targetPort: 53, protocol: UDP}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: adguard
namespace: adguard
spec:
rules:
- host: adguard-cluster.zb-kw.duckdns.org
http:
paths:
- path: /
pathType: Prefix
backend:
service: {name: adguard-service, port: {number: 80}}
tls:
- hosts: [adguard-cluster.zb-kw.duckdns.org]
secretName: zb-kw-wildcard-tls