Split bind-external DNSRecords into one file per record (#500)
A single records.yaml holding every DNSRecord means any record change touches a shared file, and deleting one record is a hunk edit rather than a file removal. One file per record under <zone>/<type>/<record>.yaml makes each record independently editable and removable. - move acme-apex-ns to acme-unkin-net/ns/apex.yaml and acme-ns1-a to acme-unkin-net/a/ns1.yaml - add kustomization.yaml per zone and type directory, referencing directories from the parent - carry the delegation rationale onto the zone kustomization - drop records.yaml and reference the zone directory from the app kustomization Rendered output is unchanged. Reviewed-on: #500 Co-authored-by: unkin-agent <unkin-agent@unkin.net> Co-committed-by: unkin-agent <unkin-agent@unkin.net>
This commit was merged in pull request #500.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ns1.yaml
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: DNSRecord
|
||||
metadata:
|
||||
name: acme-ns1-a
|
||||
namespace: bind-external
|
||||
spec:
|
||||
zoneRef: acme-unkin-net
|
||||
name: ns1
|
||||
type: A
|
||||
ttl: 3600
|
||||
values:
|
||||
# Public address of this cluster's external BIND, same target as
|
||||
# acme-ns1.unkin.net. Resolvers that cached the seeded ns1.acme.unkin.net
|
||||
# NS name must still reach the zone.
|
||||
- 103.216.191.185
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
# Authoritative delegation records for acme.unkin.net. Without these the zone
|
||||
# only holds the operator's seed apex (NS ns1.acme.unkin.net glued to the
|
||||
# primary pod IP), which is unroutable off-cluster and goes stale on
|
||||
# reschedule. DNSRecords must live in the same namespace as their BindZone.
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ns
|
||||
- a
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: DNSRecord
|
||||
metadata:
|
||||
name: acme-apex-ns
|
||||
namespace: bind-external
|
||||
spec:
|
||||
zoneRef: acme-unkin-net
|
||||
# "@" is the zone apex.
|
||||
name: "@"
|
||||
type: NS
|
||||
ttl: 3600
|
||||
values:
|
||||
# Matches the parent delegation in Google Cloud DNS. Out of zone, so the
|
||||
# child needs no glue of its own.
|
||||
- acme-ns1.unkin.net.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- apex.yaml
|
||||
@@ -7,5 +7,5 @@ resources:
|
||||
- cluster.yaml
|
||||
- tsigkey.yaml
|
||||
- zones.yaml
|
||||
- records.yaml
|
||||
- acme-unkin-net
|
||||
- agent-dns-rolebinding.yaml
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
# Authoritative delegation records for acme.unkin.net. Without these the zone
|
||||
# only holds the operator's seed apex (NS ns1.acme.unkin.net glued to the
|
||||
# primary pod IP), which is unroutable off-cluster and goes stale on
|
||||
# reschedule. DNSRecords must live in the same namespace as their BindZone.
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: DNSRecord
|
||||
metadata:
|
||||
name: acme-apex-ns
|
||||
namespace: bind-external
|
||||
spec:
|
||||
zoneRef: acme-unkin-net
|
||||
# "@" is the zone apex.
|
||||
name: "@"
|
||||
type: NS
|
||||
ttl: 3600
|
||||
values:
|
||||
# Matches the parent delegation in Google Cloud DNS. Out of zone, so the
|
||||
# child needs no glue of its own.
|
||||
- acme-ns1.unkin.net.
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: DNSRecord
|
||||
metadata:
|
||||
name: acme-ns1-a
|
||||
namespace: bind-external
|
||||
spec:
|
||||
zoneRef: acme-unkin-net
|
||||
name: ns1
|
||||
type: A
|
||||
ttl: 3600
|
||||
values:
|
||||
# Public address of this cluster's external BIND, same target as
|
||||
# acme-ns1.unkin.net. Resolvers that cached the seeded ns1.acme.unkin.net
|
||||
# NS name must still reach the zone.
|
||||
- 103.216.191.185
|
||||
Reference in New Issue
Block a user