registry_handler.go 855 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package api
  2. import (
  3. "fmt"
  4. "net/http"
  5. "github.com/google/go-containerregistry/pkg/authn"
  6. "github.com/google/go-containerregistry/pkg/name"
  7. "github.com/google/go-containerregistry/pkg/v1/remote"
  8. )
  9. // HandleListImages retrieves a list of repo names
  10. func (app *App) HandleListImages(w http.ResponseWriter, r *http.Request) {
  11. ref, err := name.ParseReference("gcr.io/google-containers/pause")
  12. if err != nil {
  13. fmt.Println(err)
  14. return
  15. }
  16. img, err := remote.Image(ref)
  17. if err != nil {
  18. fmt.Println(err)
  19. return
  20. }
  21. fmt.Println(img.Size())
  22. ctx := r.Context()
  23. reg, err := name.NewRegistry("index.docker.io")
  24. if err != nil {
  25. fmt.Println("fuk")
  26. fmt.Println(err)
  27. return
  28. }
  29. stuff, err := remote.Catalog(ctx, reg, remote.WithAuthFromKeychain(authn.DefaultKeychain))
  30. if err != nil {
  31. fmt.Println(err)
  32. return
  33. }
  34. fmt.Println(stuff[0])
  35. }