No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jennifer Linnenberg 3b5d590537
All checks were successful
/ sync (push) Successful in 1m31s
Add mail DNS for usepool.org (MX, SPF, DKIM, DMARC)
Enables sending from @usepool.org addresses via stalwart.linnenberg.dev.
DKIM keys generated through Stalwart's x:Domain/set API with the same
Automatic dkimManagement config as linnenberg.dev. Sending-only scope:
no MTA-STS/autoconfig/autodiscover since those subdomains don't have
Caddy vhosts yet and would resolve to the catchall 404.
2026-08-30 22:10:20 +02:00
.forgejo/workflows Bump hickory-server 0.26.1, askama 0.16.0, actions/cache v6.1.0 2026-08-04 14:55:40 +02:00
.idea stuff 2026-07-07 23:15:40 +02:00
src Fix SSHFP staleness, remove dead POP3 SRV, stop fighting Caddy's ECH publisher 2026-07-08 14:23:53 +02:00
templates fix: fixed validation for SRV 2026-02-12 20:49:44 +01:00
zones Add mail DNS for usepool.org (MX, SPF, DKIM, DMARC) 2026-08-30 22:10:20 +02:00
.gitignore feat: initial commit w/ list support 2026-02-12 20:16:40 +01:00
Cargo.lock Bump hickory-server 0.26.1, askama 0.16.0, actions/cache v6.1.0 2026-08-04 14:55:40 +02:00
Cargo.toml Bump hickory-server 0.26.1, askama 0.16.0, actions/cache v6.1.0 2026-08-04 14:55:40 +02: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.