package zones import ( "context" "net/netip" "time" ) func (m *Machine) lookupNetIP() ([]netip.Addr, error) { timeout := 2 * time.Second ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() return m.zone.zones.resolver.LookupNetIP(ctx, "ip", m.FullName()) } func (m *Machine) updatePublicAddresses() error { addrs, err := m.lookupNetIP() if err != nil { return err } m.PublicAddresses = addrs return nil } func (m *Machine) scan() error { for i := 0; i < RingsCount; i++ { if err := m.tryApplyWireguardConfig(i); err != nil { return err } } return m.updatePublicAddresses() }