# yaml-language-server: $schema=./values.schema.json
image:
  repository: ghcr.io/pi-hole/pihole
  pullPolicy: IfNotPresent
  tag: 2026.02.0@sha256:ee348529cea9601df86ad94d62a39cad26117e1eac9e82d8876aa0ec7fe1ba27
securityContext:
  container:
    readOnlyRootFilesystem: false
    runAsNonRoot: false
    allowPrivilegeEscalation: true
    runAsUser: 0
    runAsGroup: 0
    capabilities:
      add:
        - NET_ADMIN
        - SETFCAP
        - SETPCAP
        - KILL
        - SYS_TIME
        - SYS_NICE
workload:
  main:
    podSpec:
      containers:
        main:
          env:
            PIHOLE_UID: "{{ .Values.securityContext.container.PUID }}"
            PIHOLE_GID: "{{ .Values.securityContext.pod.fsGroup }}"
            FTLCONF_dns_upstreams: "8.8.8.8;8.8.4.4"
            FTLCONF_webserver_api_password: "somepassword"
          probes:
            liveness:
              type: http
              path: /admin
            readiness:
              type: http
              path: /admin
            startup:
              type: http
              path: /admin
service:
  main:
    ports:
      main:
        port: 9089
        targetPort: 80
  dns:
    enabled: true
    ports:
      dns:
        enabled: true
        protocol: udp
        port: 53
        targetPort: 53
      dns-tcp:
        enabled: true
        protocol: tcp
        port: "{{ .Values.service.dns.ports.dns.port }}"
        targetPort: 53
persistence:
  config:
    enabled: true
    mountPath: "/etc/pihole"
  dnsmasq:
    enabled: true
    mountPath: "/etc/dnsmasq.d"
