Commit Graph

8 Commits

Author SHA1 Message Date
f21d9c8ff5 Update module name 2026-03-28 17:04:36 -07:00
9ff9abeabd Add also-notify support for BIND domains.conf generation
Extend catz.yaml config with a bind-conf section mapping catalog names
to also-notify IP lists. Zones in catalogs with also-notify configured
get an also-notify directive in the generated domains.conf. IPs are
deduplicated and sorted when a zone belongs to multiple catalogs.
2026-03-28 14:57:37 -07:00
49f7ad2987 Allow catalog-only zones without file= in --bind-conf mode
Zones without a file= property (e.g. ddns zones) are included in
catalog zone output for secondaries but skipped in domains.conf.
Previously --bind-conf required every zone to have file= set.
2026-03-28 11:56:49 -07:00
0eddb9fcfe Add --bind-conf flag for BIND domains.conf generation
Generate a BIND-format domains.conf file alongside catalog zones.
New input properties: file= (zone data path) and dnssec (bare flag).
When --bind-conf is set, every zone must have file= or it errors.

Renames ZoneEntry.File to ZonesFile (input path for error messages)
and adds ZoneFile (BIND file path) and DNSSEC (bool) fields.
2026-03-28 11:15:06 -07:00
44d7867a0c Add example config and zones.txt files
Provide catz.yaml.example and zones.txt.example as starting points
for new users. The config follows RFC 9432's recommendation to use
"invalid." for SOA mname/rname. The zones file demonstrates all
supported features: single/multiple catalog assignment, group
property, coo property, and combinations.
2026-03-01 18:22:46 -08:00
0a460b975d Clean up code reuse, consistency, and efficiency issues
Merge readExistingSerial and readExistingContent into a single
readExisting function to eliminate duplicate file I/O. Extract dateBase
helper to deduplicate serial formula between defaultSerial and
bumpSerial. Cache hash results during collision check to avoid
recomputing per member. Normalize error prefixes (remove "error:" from
fmt.Errorf, add uniformly at print sites). Use filepath.Join instead of
manual "/" concatenation. Replace trivial containsStr wrapper with
strings.Contains. Simplify tokenize to a single return. Use writeTestFile
and fixedTime helpers consistently in tests.
2026-03-01 17:38:26 -08:00
1f2f39f40c Add catalog-zone-gen tool
Generate RFC 9432 DNS catalog zone files from a declarative input file.
Parses zone-to-catalog assignments with optional group and coo properties,
produces deterministic BIND-format output with automatic SOA serial
management and change detection.
2026-02-28 16:13:58 -08:00
5f230676d7 Start repo 2026-02-28 16:13:02 -08:00