terom@556: Manage DNS/bind9 zonefiles. terom@556: terom@556: update: terom@556: ./bin/update reads data from settings/, and generates zonefiles under zones/. terom@556: terom@556: `update` also shows and commits changes in settings/ data. terom@556: terom@557: -d terom@557: Do data operations under given dir-root, as opposed to CWD. terom@557: terom@557: -q terom@557: Quiet. No log messages. XXX: still outputs diffs, though.. terom@557: terom@557: -vDV terom@557: Increasing logging verbosity. terom@557: terom@557: -p terom@557: Show diffs for changed output. terom@557: terom@557: -F terom@557: Force-update output files, even if newer than input files. terom@557: terom@557: -S terom@557: Do not generate new serials for zones. terom@557: terom@557: -n terom@557: Fake-update; show changes, but don't actually commit/deploy them. terom@557: terom@557: -C terom@557: Do not commit source changes. terom@557: terom@557: -c terom@557: Force-commit source changes, even though -n terom@557: terom@557: -m terom@557: Commit message for source changes; optional terom@557: terom@556: bin/update-serial: terom@556: Increment DNS SOA record serials in the given .serial files. terom@556: terom@556: Uses a YYYYMMDDXX format, but supports XX overflow. terom@556: terom@556: bin/process-zone: terom@556: Read zonefile containing records, and generate any of: terom@556: terom@556: --check-hosts: terom@556: Check for duplicate host names/IPs. terom@556: terom@556: --forward-zone: terom@556: Generate additional TXT/MX records to supplement A/CNAME records. terom@556: terom@556: --reverse-zone=NET terom@556: Generate PTR records for all matching A records. terom@556: terom@556: --meta-zone: terom@556: Generate additional TXT records from zonefile metadata, read from: terom@556: terom@556: hg annotate -q --date | ./bin/process-zone --input-line-date ... terom@556: terom@556: bin/expand-zone: terom@556: Expand template vars in a zone textfile; does not parse records, just passes through lines. terom@556: terom@556: Used to substitute e.g. `--serial .../foo.serial` values into SOA '{serial}' fields. terom@556: terom@556: bin/update: terom@556: Runs update-serial/process-zone/expand-zone to keep various generated zones/views up-to-date with respect to terom@556: source files under settings/ terom@556: terom@556: Also supports hg diff/commit/annotate integration with settings. terom@556: terom@556: settings/: terom@556: Input files, fed through update to generate files under zones/ terom@556: terom@556: *.serial: terom@556: Zone serial numbers for corresponding *.zone terom@556: terom@556: *.zone: terom@556: Zone header, passed through process-zone with `--serial *.serial` and any appropriate `--expand view=...`. terom@556: terom@556: May include a view-based $INCLUDE to include different zone data for different views. terom@556: terom@556: *.zone.*: terom@556: Additional common zone data; copied to zones/, and $INCLUDE'd from *.zone. terom@556: terom@556: *.txt: terom@556: Hosts zone data, used to generate forwards/reverse -hosts zones terom@556: terom@556: zones/: terom@556: Output files, loaded by bind. terom@556: terom@556: *.zone: terom@556: View-independent zone headers with expanded serial. terom@556: terom@556: *.zone.hosts: terom@556: View-independent generated zones for hosts. terom@556: terom@556: *.zone.$view: terom@556: Per-view copied zone data. terom@556: terom@556: *.zone.*: terom@556: Additional view-independent copied zone data. terom@556: terom@556: $view/*.zone: terom@556: Per-view zone header with expanded $INCLUDE:s and serial. terom@556: terom@556: $view/*.zone.hosts: terom@556: Per-view generated zones for hosts. terom@556: terom@556: $view/*.zone -> .../$.zone: terom@556: Symlinked generic-zone data for some specific zone; either view-specific or view-independent. terom@556: