c8d61205ce
## Why `dig google.com @198.18.200.7` was refused: the resolver never set allow-recursion, so BIND defaulted to localnets/localhost. This mirrors the puppet resolver (/etc/named/views.conf + acls.conf) exactly. ## Changes - `openforwarder` BindView: `match-clients` = the 4 internal ACLs, recursion yes, allow-recursion/allow-query `any` (match-clients gates) - 4 BindACLs from puppet acls.conf (acl-main.unkin.net/acl-dmz/acl-common/acl-nomad-jobs) - 26 conditional forward zones in the view (unkin→198.18.19.15, consul→.14, k8s→.20, dmz/network/prod + 10.10.x reverse → 10.10.16.32/33) - global forwarders 8.8.8.8/1.1.1.1 - operator image → v0.1.4 ## Note Forward-zone upstreams point at the **puppet anycast** servers (still authoritative during migration); flip to the in-cluster authoritative/externaldns LBs once zone data is migrated. ## Validated kustomize build (59 docs), kubeconform clean. Reviewed-on: #226 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
24 lines
596 B
YAML
24 lines
596 B
YAML
---
|
|
# openforwarder view, mirrored from puppet /etc/named/views.conf.
|
|
# match-clients gates access to internal networks; recursion/query are 'any'
|
|
# within the view since match-clients already restricts who reaches it.
|
|
apiVersion: bind.unkin.net/v1alpha1
|
|
kind: BindView
|
|
metadata:
|
|
name: openforwarder
|
|
namespace: bind-internal
|
|
spec:
|
|
clusterRef: bind-resolvers
|
|
order: 100
|
|
matchClients:
|
|
- acl-main.unkin.net
|
|
- acl-nomad-jobs
|
|
- acl-common
|
|
- acl-dmz
|
|
recursion: true
|
|
allowQuery:
|
|
- any
|
|
extraOptions:
|
|
- "allow-recursion { any; }"
|
|
- "allow-query-cache { any; }"
|