func List(repo name.Repository, auth authn.Authenticator, t http.RoundTripper) ([]string, error) {
	scopes := []string{repo.Scope(transport.PullScope)}
	tr, err := transport.New(repo.Registry, auth, t, scopes)
	if err != nil {
		return nil, err
	}
	uri := url.URL{
		Scheme: repo.Registry.Scheme(),
		Host:   repo.Registry.RegistryStr(),
		Path:   fmt.Sprintf("/v2/%s/tags/list", repo.RepositoryStr()),
	}
	client := http.Client{Transport: tr}
	resp, err := client.Get(uri.String())
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	if err := transport.CheckError(resp, http.StatusOK); err != nil {
		return nil, err
	}
	parsed := tags{}
	if err := json.NewDecoder(resp.Body).Decode(&parsed); err != nil {
		return nil, err
	}
	return parsed.Tags, nil
}
List calls /tags/list for the given repository.
package remote
import (
	"encoding/json"
	"fmt"
	"net/http"
	"net/url"
	"github.com/google/go-containerregistry/pkg/authn"
	"github.com/google/go-containerregistry/pkg/name"
	"github.com/google/go-containerregistry/pkg/v1/remote/transport"
)
type tags struct {
	Name string   `json:"name"`
	Tags []string `json:"tags"`
}