code: func getProjectNamespaces(c context.Context) ([]string, error) {
  	q := datastore.NewQuery("__namespace__").KeysOnly(true)
  
  	// Query our datastore for the full set of namespaces.
  	var namespaceKeys []*datastore.Key
  	if err := datastore.GetAll(c, q, &namespaceKeys); err != nil {
  		return nil, errors.Annotate(err, "enumerating namespaces").Err()
  	}
  
  	nmap := make(map[string]bool)
  	namespaces := make([]string, 0, len(namespaceKeys))
  	for _, nk := range namespaceKeys {
  		if !strings.HasPrefix(nk.StringID(), coordinator.ProjectNamespacePrefix) {
  			continue
  		}
  		nmap[nk.StringID()] = true
  		namespaces = append(namespaces, nk.StringID())
  	}
  	sort.Strings(namespaces)
  	return namespaces, nil
  }
docs: // getProjectNamespaces returns a list of all of the namespaces in the
  // datastore that begin with "luci.".
  //
  // This is done by issuing a datastore query for kind "__namespace__". The
  // resulting keys will have IDs for the namespaces, namely:
  //	- The default namespace will have integer ID 1.
  //	- Other namespaces will have string IDs.