summaryrefslogtreecommitdiff
path: root/f3s/argocd-apps/services/pihole.yaml
blob: a22e58527de6d2c43f54fe7bb172b67af209b77f (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
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:
              - 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