replicaCount: 3 servers: - zones: - zone: . port: 53 # If serviceType is nodePort you can specify nodePort here # nodePort: 30053 # hostPort: 53 plugins: - name: errors # Serves a /health endpoint on :8080, required for livenessProbe - name: health configBlock: |- lameduck 5s # Serves a /ready endpoint on :8181, required for readinessProbe - name: ready # Required to query kubernetes API for data - name: kubernetes parameters: cluster.local in-addr.arpa ip6.arpa configBlock: |- pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 - name: transfer configBlock: |- to * - name: k8s_external parameters: k configBlock: |- fallthrough # Serves a /metrics endpoint on :9153, required for serviceMonitor - name: prometheus parameters: 0.0.0.0:9153 #- name: k8s_gateway # parameters: cluster.gateway # configBlock: |- # resources Ingress # ttl 10 # individual hosts (full domains but still just hosts) - {"parameters": "IN A harbor.strudelline.net", "configBlock": "answer \"{{ .Name }} 60 IN A 172.16.17.115\"", "name": "template"} - {"parameters": "IN A frigate.strudelline.net", "configBlock": "answer \"{{ .Name }} 60 IN A 172.16.17.33\"", "name": "template"} #- {"parameters": "IN A email.strudelline.net", "configBlock": "answer \"{{ .Name }} 60 IN CNAME mailgun.org.\"", "name": "template"} #- {"parameters": "IN A pbx.strudelline.net", "configBlock": "answer \"{{ .Name }} 60 IN A 172.16.56.1\"", "name": "template"} # werts.us - name: template parameters: IN A werts.us configBlock: answer "{{ .Name }} 60 IN A 172.16.17.80" # minio.strudelline.net - name: template parameters: IN A minio.strudelline.net configBlock: answer "{{ .Name }} 60 IN A 172.16.17.80" # cascade.strudelline.net - name: template parameters: IN A cascade.strudelline.net configBlock: | match ^cascade[.]strudelline[.]net[.]$ answer "{{ .Name }} 60 IN A 172.16.34.1" answer "{{ .Name }} 60 IN A 172.16.33.1" fallthrough # *.strudelline.net - name: template parameters: IN A strudelline.net configBlock: | match ^(?P[^.]*)[.]strudelline[.]net[.]$ answer "{{ .Name }} 60 IN A 172.16.17.80" fallthrough # BYPASS FAMILY FILTER FOR SOME SITES - name: forward parameters: myrunningman.com 172.16.1.53:153 # *.cascade.strudelline.net - name: forward parameters: in-addr.arpa 172.16.33.1 172.16.34.1 - name: forward parameters: cascade.strudelline.net 172.16.33.1 172.16.34.1 - name: forward parameters: . 172.16.1.53:53 172.16.1.53:54 configBlock: | force_tcp - name: loop - name: reload - name: nsid parameters: "coredns-ext" - name: cache parameters: 30 - name: cancel - name: whoami - name: loadbalance - name: log - name: minimal serviceType: LoadBalancer service: annotations: metallb.universe.tf/allow-shared-ip: 172.16.2.9 metallb.universe.tf/loadBalancerIPs: 172.16.2.9 isClusterService: false #podAnnotations: # k8s.v1.cni.cncf.io/networks: | # [{ # "namespace": "cascade", # "name": "br0-static", # "ips": ["172.16.2.9/12"] # }]