diff --git a/catz.yaml.example b/catz.yaml.example new file mode 100644 index 0000000..f0f5fdf --- /dev/null +++ b/catz.yaml.example @@ -0,0 +1,17 @@ +# catalog-zone-gen configuration +# +# Each catalog becomes an output zone file named .zone +# Catalog names here are referenced in zones.txt + +catalogs: + prod: + zone: catalog-prod.example.com. + staging: + zone: catalog-staging.example.com. + +# SOA fields for all generated zone files +# RFC 9432 recommends "invalid." for both since catalog zones +# are not queried via normal DNS resolution. +soa: + mname: invalid. + rname: invalid. diff --git a/zones.txt.example b/zones.txt.example new file mode 100644 index 0000000..80b759f --- /dev/null +++ b/zones.txt.example @@ -0,0 +1,23 @@ +# Zones to include in catalog zones +# +# Format: [, ...] [, group=] [, coo=] +# +# - Catalogs are bare names matching keys in catz.yaml +# - group: RFC 9432 property — consumers apply shared config to grouped zones +# - coo: RFC 9432 change-of-ownership — points to the old catalog during migration + +# Simple: zone in one catalog +app.example.com prod + +# Zone served by multiple catalogs +example.com prod, staging + +# Group property — lets consumers apply per-group policy +api.example.com prod, group=critical +dev.example.net staging, group=testing + +# Change-of-ownership — zone migrating from another catalog +legacy.example.org prod, coo=old-catalog.example.com. + +# Both properties +internal.example.org prod, group=internal, coo=old-catalog.example.com.