summaryrefslogtreecommitdiff
path: root/f3s/argocd-apps/services/pihole.yaml
blob: 724c6c3e1cad05c9f696375292acec6d218cdc85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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