code: func (s *StanServer) bootstrapCluster(name string, node *raft.Raft) error {
  	var (
  		addr = s.getClusteringAddr(name)
  		// Include ourself in the cluster.
  		servers = []raft.Server{raft.Server{
  			ID:      raft.ServerID(s.opts.Clustering.NodeID),
  			Address: raft.ServerAddress(addr),
  		}}
  	)
  	if len(s.opts.Clustering.Peers) > 0 {
  		// Bootstrap using provided cluster configuration.
  		s.log.Debugf("Bootstrapping Raft group %s using provided configuration", name)
  		for _, peer := range s.opts.Clustering.Peers {
  			servers = append(servers, raft.Server{
  				ID:      raft.ServerID(peer),
  				Address: raft.ServerAddress(s.getClusteringPeerAddr(name, peer)),
  			})
  		}
  	} else {
  		// Bootstrap as a seed node.
  		s.log.Debugf("Bootstrapping Raft group %s as seed node", name)
  	}
  	config := raft.Configuration{Servers: servers}
  	return node.BootstrapCluster(config).Error()
  }
docs: // bootstrapCluster bootstraps the node for the provided Raft group either as a
  // seed node or with the given peer configuration, depending on configuration
  // and with the latter taking precedence.