No description
Find a file
Jennifer Linnenberg 42d02d67fe
All checks were successful
/ sync (push) Successful in -20s
fix: comment filter
2026-02-17 21:42:33 +01:00
.forgejo/workflows fix: TTL for TXT 2026-02-12 22:45:36 +01:00
src fix: comment filter 2026-02-17 21:42:33 +01:00
templates fix: fixed validation for SRV 2026-02-12 20:49:44 +01:00
zones fix: dmarc, spf 2026-02-17 21:32:10 +01:00
.gitignore feat: initial commit w/ list support 2026-02-12 20:16:40 +01:00
Cargo.lock fix: fixed validation for SRV 2026-02-12 20:49:44 +01:00
Cargo.toml fix: fixed validation for SRV 2026-02-12 20:49:44 +01:00
README.md fix: dont overwrite NS 2026-02-12 22:04:38 +01:00

dns-gitops

Manage DNS records as zone files in git and sync them to INWX via their API.

Commands

validate

Check zone file syntax without touching the remote.

cargo run -- validate --zonefile zones/example.com.zone
cargo run -- validate --zonefile zones/*.zone

Zone files

Zone files live in zones/ and use standard BIND format. The domain name is derived from the filename (e.g. zones/example.com.zone maps to example.com).

$ORIGIN example.com.

example.com.  86400  IN  SOA  ns.inwx.de. hostmaster.inwx.de. 2024010100 10800 3600 1209600 3600

example.com.  86400  IN  NS   ns.inwx.de.
example.com.  86400  IN  NS   ns2.inwx.de.
example.com.  86400  IN  NS   ns3.inwx.eu.

example.com.  3600   IN  A     93.184.216.34
example.com.  3600   IN  AAAA  2606:2800:220:1:248:1893:25c8:1946

SOA and NS records are skipped during sync (managed by the provider). Comments (;) and directives ($) are ignored.

To deploy changes, commit your zone files and push to main. The Forgejo CI workflow will automatically sync them to INWX.