validate zone on the nameservers
This block is part of the dns group and was last modified in core v15.0.0.
validate zone on the nameservers v15.0.0 Run named-checkzone on every nameserver. Writes nothing anywhere, on any node.
- flow
flow - Zone required
valueThe zone name, for example deverence.nl.
- Zone file required
valueThe rendered zone file, exactly as it would be pushed.
- Nameservers required
arrayEach {name, host, port, user, key_path, known_hosts_path}. Paths only : never key material.
- flow
flow - Success
conditionTrue when every node could be asked. Whether they passed is on the passed pin.
- Zone
valueThe zone that was validated.
- Passed everywhere
conditionTrue only when named-checkzone passed on every node. This is the gate the push needs.
- Results
arrayPer node: name, host, ok, output, exit_code, checksum, zone.
- Checksum
valuesha256 of the exact bytes checked. The push matches on this.
- Passed count
numberHow many nodes accepted the file.
- Node count
numberHow many nodes were asked.
- Error
valueWhy the check could not run at all.
Runs named-checkzone for this zone file on EVERY nameserver in the nodes list and reports per node. It never writes: the file is handed to the parser on stdin and discarded. This is a separate fan-out ahead of any write, not a per-node try-and-see, because a DNS server serving a syntactically valid but truncated zone is worse than one serving yesterday's : so 'does this parse everywhere' is answered in full before 'shall we replace anything' is asked. passed comes back true only when every node passed. results carries {name, host, ok, output, exit_code, checksum, zone} per node, and checksum is a sha256 of the exact bytes checked: dnszone_push demands a passing result with a MATCHING checksum for every node it is about to write to, so a flow cannot render, check, edit and then push a different file. Each node is {name, host, port, user, key_path, known_hosts_path}. Key MATERIAL must never appear on the pin : only paths : and the block refuses a node object carrying private_key, key, password, passphrase or secret. Refuses a file still carrying the @SERIAL@ placeholder, since those would not be the bytes pushed.
named-checkzone |
validate zone |
check zone |
A typical wiring for validate zone on the nameservers: a function trigger starts the flow; value feeds the zone pin; value feeds the zone_file pin; with values feeds the nodes pin; the flow out pin feeds debug.
Used in these guides
These documentation pages use or explain this block:
Version history
Introduced in v15.0.0.
Back to
dns Return to the main group to view all sub-groups Back to DNS zones Return to the group to view all blocks within this group 