The mint finds the bus on the hub #96

Merged
jschoubben merged 1 commits from fix/mint-finds-the-bus-on-the-hub into main 2026-09-27 22:34:42 +00:00
+17 -4
View File
@@ -243,11 +243,24 @@ func rolloutMint(ctx context.Context) error {
if err != nil {
return err
}
if onNetwork[busNode] == "" {
return fmt.Errorf("%s runs the new bus and has no address on the private network, so no machine "+
"could be told where it is", busNode)
busHost := onNetwork[busNode]
if busHost == "" {
// **The hub is not in that map.** The machine that took over the tunnel is where the current
// bus already answers, and every machine dials it at the address the mesh handed them — so
// when the new bus runs on the same machine, that address is the one to tell them, with the
// new port. Found live: the control node is the hub, and the map lists the machines placed
// around it.
host := strings.TrimSpace(broker.BareAddress(known.Address))
if i := strings.LastIndex(host, ":"); i > 0 && !strings.Contains(host[i:], "]") {
host = host[:i]
}
if host == "" {
return fmt.Errorf("%s runs the new bus and has no address on the private network, and the "+
"current bus's address is unknown too, so no machine could be told where it is", busNode)
}
busHost = host
}
busAddress := onNetwork[busNode] + ":4222"
busAddress := busHost + ":4222"
records, err := inv.BusRecords(ctx)
if err != nil {