github.com/olli-ai/jx/v2@v2.0.400-0.20210921045218-14731b4dd448/pkg/cmd/opts/docker.go (about) 1 package opts 2 3 import ( 4 "os" 5 "strings" 6 7 "github.com/jenkins-x/jx-logging/pkg/log" 8 "github.com/olli-ai/jx/v2/pkg/config" 9 "github.com/olli-ai/jx/v2/pkg/gits" 10 "github.com/olli-ai/jx/v2/pkg/kube" 11 ) 12 13 // GetDockerRegistryOrg parses the docker registry organisation from various places 14 func (o *CommonOptions) GetDockerRegistryOrg(projectConfig *config.ProjectConfig, repository *gits.GitRepository) string { 15 answer := "" 16 if projectConfig != nil { 17 answer = projectConfig.DockerRegistryOwner 18 } 19 if answer == "" { 20 teamSettings, err := o.TeamSettings() 21 if err != nil { 22 log.Logger().Warnf("Could not load team settings %s", err.Error()) 23 } else { 24 answer = teamSettings.DockerRegistryOrg 25 } 26 if answer == "" { 27 answer = os.Getenv("DOCKER_REGISTRY_ORG") 28 } 29 if answer == "" && repository != nil { 30 answer = repository.Organisation 31 } 32 } 33 return strings.ToLower(answer) 34 } 35 36 // GetDockerRegistry parses the docker registry from various places 37 func (o *CommonOptions) GetDockerRegistry(projectConfig *config.ProjectConfig) string { 38 dockerRegistry := "" 39 if projectConfig != nil { 40 dockerRegistry = projectConfig.DockerRegistryHost 41 } 42 if dockerRegistry == "" { 43 dockerRegistry = os.Getenv("DOCKER_REGISTRY") 44 } 45 if dockerRegistry == "" { 46 kubeClient, ns, err := o.KubeClientAndDevNamespace() 47 if err != nil { 48 log.Logger().Warnf("failed to create kube client: %s", err.Error()) 49 } else { 50 name := kube.ConfigMapJenkinsDockerRegistry 51 data, err := kube.GetConfigMapData(kubeClient, name, ns) 52 if err != nil { 53 log.Logger().Debugf("failed to load ConfigMap %s in namespace %s: %s", name, ns, err.Error()) 54 } else { 55 dockerRegistry = data["docker.registry"] 56 } 57 } 58 } 59 return dockerRegistry 60 } 61 62 // GetDockerRegistryMirror parses the docker registry mirror from various places 63 func (o *CommonOptions) GetDockerRegistryMirror(projectConfig *config.ProjectConfig) string { 64 answer := "" 65 if projectConfig != nil { 66 answer = projectConfig.DockerRegistryMirror 67 } 68 if answer == "" { 69 answer = os.Getenv("DOCKER_REGISTRY_MIRROR") 70 } 71 if answer == "" { 72 kubeClient, ns, err := o.KubeClientAndDevNamespace() 73 if err != nil { 74 log.Logger().Warnf("failed to create kube client: %s", err.Error()) 75 } else { 76 name := kube.ConfigMapJenkinsDockerRegistry 77 data, err := kube.GetConfigMapData(kubeClient, name, ns) 78 if err != nil { 79 log.Logger().Debugf("failed to load ConfigMap %s in namespace %s: %s", name, ns, err.Error()) 80 } else { 81 answer = data["docker.registry.mirror"] 82 } 83 if answer == "" { 84 name = kube.ConfigMapJenkinsDockerRegistryMirror 85 data, err = kube.GetConfigMapData(kubeClient, name, ns) 86 if err != nil { 87 log.Logger().Debugf("failed to load ConfigMap %s in namespace %s: %s", name, ns, err.Error()) 88 } else { 89 answer = data["docker.registry.mirror"] 90 } 91 } 92 } 93 } 94 return answer 95 }