code: func (s *SeesawEngine) ClusterStatus(ctx *ipc.Context, reply *seesaw.ClusterStatus) error {
  	s.trace("ClusterStatus", ctx)
  	if ctx == nil {
  		return errors.New("context is nil")
  	}
  
  	if !ctx.IsTrusted() {
  		return errors.New("insufficient access")
  	}
  
  	s.engine.clusterLock.RLock()
  	cluster := s.engine.cluster
  	s.engine.clusterLock.RUnlock()
  
  	if cluster == nil {
  		return errors.New("no cluster configuration loaded")
  	}
  
  	reply.Version = seesaw.SeesawVersion
  	reply.Site = cluster.Site
  	reply.Nodes = make([]*seesaw.Node, 0, len(cluster.Nodes))
  	for _, node := range cluster.Nodes {
  		reply.Nodes = append(reply.Nodes, node.Clone())
  	}
  	return nil
  }
docs: // ClusterStatus returns status information about this Seesaw Cluster.