| 34 | } |
| 35 | |
| 36 | func NewKVInitService(cfg *KVConfig, logger log.Logger, dnsProvider DNSProvider, registerer prometheus.Registerer) *KVInitService { |
| 37 | kvinit := &KVInitService{ |
| 38 | cfg: cfg, |
| 39 | watcher: services.NewFailureWatcher(), |
| 40 | logger: logger, |
| 41 | registerer: registerer, |
| 42 | dnsProvider: dnsProvider, |
| 43 | } |
| 44 | kvinit.Service = services.NewBasicService(nil, kvinit.running, kvinit.stopping).WithName("memberlist KV service") |
| 45 | return kvinit |
| 46 | } |
| 47 | |
| 48 | // GetMemberlistKV will initialize Memberlist.KV on first call, and add it to service failure watcher. |
| 49 | func (kvs *KVInitService) GetMemberlistKV() (*KV, error) { |