Radish alpha
r
rad:z254T5p17bdFPmzfDojsdjo4HjpoZ
Radicle Infrastructure as Code (NixOS, OpenTofu, …)
Radicle
Git
radicle-infra os host dev seed bootstrap zone.nu
#! /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
}