#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#

image:
  # -- image repository
  repository: technitium/dns-server
  # -- image tag
  # @default -- chart.appVersion
  tag:
  # -- image pull policy
  pullPolicy: Always

# -- Environment variables for the container. Refer to Technitium DNS Server documentation for available variables.
# @default -- See below
env:
  # -- Set the container timezone
  TZ: UTC

# -- Configures service settings for the chart.
# Depending on your Kubernetes version, you may or may not be able to mix UDP and TCP services.
# @default -- See values.yaml
service:
  main:
    annotations: {}
    enabled: true
    primary: true
    type: LoadBalancer
    externalTrafficPolicy: Local
    ports:
      # -- HTTP port for the web interface
      http:
        enabled: true
        port: 80
        targetPort: 5380
        protocol: TCP
      # -- HTTPS port for the web interface
      https:
        enabled: true
        port: 443
        targetPort: 53443
      # -- UDP port for standard DNS queries
      dns-udp:
        enabled: true
        port: 53
        protocol: UDP
      # -- TCP port for standard DNS queries and zone transfers
      dns-tcp:
        enabled: true
        port: 53
        protocol: TCP
      # -- UDP port for DHCP services
      dhcp:
        enabled: true
        port: 67
        protocol: UDP
      # -- TCP port for DNS-over-TLS (DoT)
      dot:
        enabled: true
        port: 853
        protocol: TCP
      # -- TCP port for DNS-over-HTTPS (DoH) reverse proxy
      doh-reverse:
        enabled: true
        port: 8053
        protocol: TCP

ingress:
  # -- Enable and configure ingress settings for the chart.
  # For more details, see the [common library chart documentation](https://github.com/k8s-at-home/library-charts/blob/main/charts/stable/common/README.md).
  main:
    enabled: false
    annotations: {}
    hosts:
      - host: my.host.local
        paths:
          - path: /
            pathType: Prefix
    ingressClassName: ""
    tls:
      - hosts:
          - my.host.local
        secretName: mycert-tls

# -- Configure persistence settings for the chart.
# @default -- See values.yaml
persistence:
  config:
    enabled: true
    type: emptyDir
    mountPath: /etc/dns