dreamsofautonomy / homelab

141 stars 21 forks source link

bug: PiHole not being auto assigned ingress class #4

Open StevenAlexanderJohnson opened 4 weeks ago

StevenAlexanderJohnson commented 4 weeks ago

I'm using newer versions of PiHole and Ingress-Nginx so I'm not certain if that's the case for the older versions.

In my case I had set the ingress-nginx class to be the default as seen in the video, but when running: kubectl get ing -A pihole-system was not assigned a class.

Looking at the git repo for mojo2600/pihole, there is a field under ingress called ingressClassName, which you can define using the name set in nginx-internal.values.yaml.

I didn't create a PR because this repo uses older versions.

StevenAlexanderJohnson commented 4 weeks ago

For more details: I used the same helmfile but changed the versions,

repositories:
  - name: longhorn
    url: https://charts.longhorn.io
  - name: metallb
    url: https://metallb.github.io/metallb
  - name: mojo2600
    url: https://mojo2600.github.io/pihole-kubernetes/
  - name: ingress-nginx
    url: https://kubernetes.github.io/ingress-nginx
---
releases:
  - name: longhorn
    namespace: longhorn-system
    chart: longhorn/longhorn
    version: 1.7.1

  - name: metallb
    chart: metallb/metallb
    namespace: metallb-system
    version: 0.14.5

  - name: pihole
    namespace: pihole-system
    chart: mojo2600/pihole
    version: 2.26.1
    values:
      - ./values/pihole.values.yaml

  - name: ingress-nginx-internal
    namespace: nginx-system
    chart: ingress-nginx/ingress-nginx
    version: 4.11.2
    values:
      - ./values/nginx-internal.values.yaml

My nginx-internal.values.yaml was the same, but I removed the parameters field.

I changed the pihole.values.yaml file to look like this:

---
DNS1:
  192.168.0.1
persistentVolumeClaim:
  enabled: true
  storageClassName: longhorn
  size: 1Gi
ingress:
  enabled: true
  ingressClassName: nginx-internal
  hosts:
    - "pihole.home"
serviceWeb:
  loadBalancerIP: 192.168.0.240
  annotations:
    metallb.universe.tf/allow-shared-ip: pihole-svc
  type: LoadBalancer
serviceDns:
  loadBalancerIP: 192.168.0.240
  annotations:
    metallb.universe.tf/allow-shared-ip: pihole-svc
  type: LoadBalancer
replicaCount: 1