code: func (s *Server) GetCluster(ctx context.Context, request *api.GetClusterRequest) (*api.GetClusterResponse, error) {
  	if request.ClusterID == "" {
  		return nil, status.Errorf(codes.InvalidArgument, errInvalidArgument.Error())
  	}
  
  	var cluster *api.Cluster
  	s.store.View(func(tx store.ReadTx) {
  		cluster = store.GetCluster(tx, request.ClusterID)
  	})
  	if cluster == nil {
  		return nil, status.Errorf(codes.NotFound, "cluster %s not found", request.ClusterID)
  	}
  
  	redactedClusters := redactClusters([]*api.Cluster{cluster})
  
  	// WARN: we should never return cluster here. We need to redact the private fields first.
  	return &api.GetClusterResponse{
  		Cluster: redactedClusters[0],
  	}, nil
  }
docs: // GetCluster returns a Cluster given a ClusterID.
  // - Returns `InvalidArgument` if ClusterID is not provided.
  // - Returns `NotFound` if the Cluster is not found.