re-introduced support for port numbers in docker registry URL

Signed-off-by: Carston Schilds <Carston.Schilds@visier.com>
This commit is contained in:
Carston Schilds 2024-06-25 15:28:25 -07:00
parent ffb842597a
commit 2380481609
2 changed files with 21 additions and 1 deletions

View File

@ -74,8 +74,11 @@ func ConvertToHostname(maybeURL string) string {
if strings.Contains(stripped, "://") { if strings.Contains(stripped, "://") {
u, err := url.Parse(stripped) u, err := url.Parse(stripped)
if err == nil && u.Hostname() != "" { if err == nil && u.Hostname() != "" {
if u.Port() == "" {
return u.Hostname() return u.Hostname()
} }
return u.Hostname() + ":" + u.Port()
}
} }
hostName, _, _ := strings.Cut(stripped, "/") hostName, _, _ := strings.Cut(stripped, "/")
return hostName return hostName

View File

@ -167,6 +167,23 @@ func TestConvertToHostname(t *testing.T) {
input: "ftp://example.com", input: "ftp://example.com",
expected: "example.com", expected: "example.com",
}, },
// should support non-standard port in registry url
{
input: "example.com:6555",
expected: "example.com:6555",
},
{
input: "http://example.com:6555",
expected: "example.com:6555",
},
{
input: "https://example.com:6555",
expected: "example.com:6555",
},
{
input: "https://example.com:6555/v2/",
expected: "example.com:6555",
},
} }
for _, tc := range tests { for _, tc := range tests {
tc := tc tc := tc