code: func (ts *tagStore) All(ctx context.Context) ([]string, error) {
  	var tags []string
  
  	pathSpec, err := pathFor(manifestTagPathSpec{
  		name: ts.repository.Named().Name(),
  	})
  	if err != nil {
  		return tags, err
  	}
  
  	entries, err := ts.blobStore.driver.List(ctx, pathSpec)
  	if err != nil {
  		switch err := err.(type) {
  		case storagedriver.PathNotFoundError:
  			return tags, distribution.ErrRepositoryUnknown{Name: ts.repository.Named().Name()}
  		default:
  			return tags, err
  		}
  	}
  
  	for _, entry := range entries {
  		_, filename := path.Split(entry)
  		tags = append(tags, filename)
  	}
  
  	return tags, nil
  }
docs: // All returns all tags