mirror of
https://seed.radicle.dev/rad:z254T5p17bdFPmzfDojsdjo4HjpoZ.git
synced 2026-11-11 14:10:38 +08:00
26 lines
640 B
Nu
Executable File
26 lines
640 B
Nu
Executable File
#! /usr/bin/env nu
|
|
|
|
def main [
|
|
--db: path # Path of node database to query
|
|
--query: path # Path of query to run against database
|
|
--zone: path # Path of the zone file to (over)write
|
|
] {
|
|
open $db |
|
|
query db $"(open $query)" |
|
|
where {|row|
|
|
(^resolvectl query --cname=false $row.host | complete).exit_code == 0
|
|
} |
|
|
each {|row|
|
|
let serviceName = "_radicle-node._tcp"
|
|
let name = $"($row.node).($serviceName)"
|
|
$"
|
|
($serviceName) PTR ($name)
|
|
($name) TXT \"nid=($row.node)\"
|
|
($name) TXT \"version=1\"
|
|
($name) TXT \"network=main\"
|
|
($name) SRV 0 1 ($row.port) ($row.host)."
|
|
} |
|
|
str join "\n" |
|
|
save -f $zone
|
|
}
|