code: func (daemon *Daemon) initDiscovery(conf *config.Config) error {
  	advertise, err := config.ParseClusterAdvertiseSettings(conf.ClusterStore, conf.ClusterAdvertise)
  	if err != nil {
  		if err == discovery.ErrDiscoveryDisabled {
  			return nil
  		}
  		return err
  	}
  
  	conf.ClusterAdvertise = advertise
  	discoveryWatcher, err := discovery.Init(conf.ClusterStore, conf.ClusterAdvertise, conf.ClusterOpts)
  	if err != nil {
  		return fmt.Errorf("discovery initialization failed (%v)", err)
  	}
  
  	daemon.discoveryWatcher = discoveryWatcher
  	return nil
  }
docs: // initDiscovery initializes the discovery watcher for this daemon.