From f825af4a97b8ad0a7c64caa5f82bc944ae044e1b Mon Sep 17 00:00:00 2001 From: Saurabh Kumar Date: Wed, 13 Sep 2023 16:40:49 +0530 Subject: [PATCH] #1481 access docker private reg without credentials --- .../pkg/registry/dockerprivate/client.go | 12 +++++++++--- deepfence_server/pkg/registry/dockerprivate/types.go | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/deepfence_server/pkg/registry/dockerprivate/client.go b/deepfence_server/pkg/registry/dockerprivate/client.go index 3043c7a814..e37497688e 100644 --- a/deepfence_server/pkg/registry/dockerprivate/client.go +++ b/deepfence_server/pkg/registry/dockerprivate/client.go @@ -58,7 +58,9 @@ func listCatalogRegistryV2(url, userName, password string) ([]string, error) { return nil, err } req.Header.Set("Content-Type", "application/json") - req.SetBasicAuth(userName, password) + if len(userName) > 0 { + req.SetBasicAuth(userName, password) + } resp, err := client.Do(req) if err != nil { @@ -100,7 +102,9 @@ func listRepoTagsV2(url, userName, password, repoName string) (RepoTagsResp, err return repoTags, err } req.Header.Set("Content-Type", "application/json") - req.SetBasicAuth(userName, password) + if len(userName) > 0 { + req.SetBasicAuth(userName, password) + } resp, err := client.Do(req) if err != nil { @@ -145,7 +149,9 @@ func getManifestsV2(url, userName, password, repoName, tag string) (string, Mani } req.Header.Set("Content-Type", "application/json") req.Header.Set("Accept", "application/vnd.docker.distribution.manifest.list.v2+json") - req.SetBasicAuth(userName, password) + if len(userName) > 0 { + req.SetBasicAuth(userName, password) + } resp, err := client.Do(req) if err != nil { diff --git a/deepfence_server/pkg/registry/dockerprivate/types.go b/deepfence_server/pkg/registry/dockerprivate/types.go index 20db5fe8ff..cb14f53733 100644 --- a/deepfence_server/pkg/registry/dockerprivate/types.go +++ b/deepfence_server/pkg/registry/dockerprivate/types.go @@ -13,11 +13,11 @@ type RegistryDockerPrivate struct { type NonSecret struct { DockerRegistryURL string `json:"docker_registry_url" validate:"required,url"` - DockerUsername string `json:"docker_username" validate:"required,min=2"` + DockerUsername string `json:"docker_username" validate:"omitempty,min=2"` } type Secret struct { - DockerPassword string `json:"docker_password" validate:"required,min=2"` + DockerPassword string `json:"docker_password" validate:"omitempty,min=2"` } type ReposResp struct {