code: func (s *PresenceService) GetNodes(namespace string, opts ...services.MarshalOption) ([]services.Server, error) {
  	if namespace == "" {
  		return nil, trace.BadParameter("missing namespace value")
  	}
  
  	// Get all items in the bucket.
  	startKey := backend.Key(nodesPrefix, namespace)
  	result, err := s.GetRange(context.TODO(), startKey, backend.RangeEnd(startKey), backend.NoLimit)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  	// Marshal values into a []services.Server slice.
  	servers := make([]services.Server, len(result.Items))
  	for i, item := range result.Items {
  		server, err := services.GetServerMarshaler().UnmarshalServer(
  			item.Value,
  			services.KindNode,
  			services.AddOptions(opts,
  				services.WithResourceID(item.ID),
  				services.WithExpires(item.Expires))...)
  		if err != nil {
  			return nil, trace.Wrap(err)
  		}
  		servers[i] = server
  	}
  
  	return servers, nil
  }
docs: // GetNodes returns a list of registered servers