Jelajahi Sumber

fix dockerhub registry repo path

Mohammed Nafees 3 tahun lalu
induk
melakukan
1d3e7a22c4
2 mengubah file dengan 12 tambahan dan 2 penghapusan
  1. 9 2
      cli/cmd/connect/dockerhub.go
  2. 3 0
      cli/cmd/deploy/create.go

+ 9 - 2
cli/cmd/connect/dockerhub.go

@@ -3,6 +3,7 @@ package connect
 import (
 	"context"
 	"fmt"
+	"strings"
 
 	"github.com/porter-dev/porter/api/types"
 
@@ -22,12 +23,18 @@ func Dockerhub(
 
 	// query for dockerhub name
 
-	repoName, err := utils.PromptPlaintext("Provide the Docker Hub organization name. For example, if your Docker Hub repository is 'myorg/myrepo', enter 'myorg'.\nName: ")
-
+	repoName, err := utils.PromptPlaintext(`Provide the Docker Hub repository, in the form of ${org_name}/${repo_name}. For example, porter1/porter.
+Repository: `)
 	if err != nil {
 		return 0, err
 	}
 
+	orgRepo := strings.Split(repoName, "/")
+
+	if len(orgRepo) != 2 || orgRepo[0] == "" || orgRepo[1] == "" {
+		return 0, fmt.Errorf("invalid Docker Hub image path: %s", repoName)
+	}
+
 	username, err := utils.PromptPlaintext("Docker Hub username: ")
 
 	if err != nil {

+ 3 - 0
cli/cmd/deploy/create.go

@@ -438,6 +438,9 @@ func (c *CreateAgent) GetImageRepoURL(name, namespace string) (uint, string, err
 	if strings.Contains(imageURI, "pkg.dev") {
 		repoSlice := strings.Split(imageURI, "/")
 		imageURI = fmt.Sprintf("%s/%s", imageURI, repoSlice[len(repoSlice)-1])
+	} else if strings.Contains(imageURI, "index.docker.io") {
+		repoSlice := strings.Split(imageURI, "/")
+		imageURI = strings.Join(repoSlice[:len(repoSlice)-1], "/")
 	}
 
 	return regID, imageURI, nil