// continue looking at dns entry for changes in config func configLoop(ctx log.Interface, cfgURL string) { ticker := time.Tick(15 * time.Second) for { select { case <-ticker: newIPs, err := dnscfg.Get(dnsAddr, ldPort) if err != nil { ctx.WithError(err).Error("dns lookup") continue } if len(newIPs) == 0 { ctx.Error("no ip addresses found") continue } oldIPs, err := httpcfg.Get(cfgURL) if err != nil { ctx.WithError(err).Error("getting config") continue } if eq(newIPs, oldIPs) { ctx.Info("config up to date") continue } err = httpcfg.Set(cfgURL, newIPs) if err != nil { ctx.WithError(err).Error("setting config") continue } ctx.WithField("ips", newIPs).Info("setting config") } } }