# services//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.labzand.com http: paths: - path: / pathType: Prefix backend: service: {name: adguard-service, port: {number: 80}} tls: - hosts: [adguard.labzand.com] secretName: labzand-wildcard-tls