apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: pihole namespace: cicd annotations: argocd.argoproj.io/compare-options: Disabled # finalizers removed so ArgoCD won't block deletion # finalizers: # - resources-finalizer.argocd.argoproj.io spec: project: default sources: # Source 1: Local resources (PVs, PVCs, Ingresses) - repoURL: https://codeberg.org/snonux/conf.git targetRevision: master path: f3s/pihole/helm-chart # Source 2: Official Pi-hole Helm chart - repoURL: https://mojo2600.github.io/pihole-kubernetes/ chart: pihole targetRevision: 2.22.0 helm: releaseName: pihole values: | persistentVolumeClaim: enabled: true existingClaim: "pihole-config-pvc" dnsmasq: customDnsEntries: # Match Pi docker hosts: f3s/pihole/docker-pi/dnsmasq.d/99-f3s-lan-wildcard.conf - address=/.f3s.lan.buetow.org/192.168.1.138 customVolumeMounts: - name: dnsmasq-config mountPath: /etc/dnsmasq.d customVolumes: - name: dnsmasq-config persistentVolumeClaim: claimName: "pihole-dnsmasq-pvc" serviceDns: type: LoadBalancer externalIPs: - 192.168.1.120 # LAN access serviceWeb: type: ClusterIP ingress: enabled: false # Managed by local chart Source 1 admin: existingSecret: "pihole-admin-password" passwordKey: "password" destination: server: https://kubernetes.default.svc namespace: services # syncPolicy disabled - pihole moved to Raspberry Pis # syncPolicy: # automated: # prune: true # selfHeal: true # syncOptions: # - CreateNamespace=false # retry: # limit: 3 # backoff: # duration: 5s # factor: 2 # maxDuration: 1m