/
docker.go
60 lines (56 loc) · 1.69 KB
/
docker.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package opts
import (
"os"
"strings"
"github.com/jenkins-x/jx/v2/pkg/config"
"github.com/jenkins-x/jx/v2/pkg/gits"
"github.com/jenkins-x/jx/v2/pkg/kube"
"github.com/jenkins-x/jx/v2/pkg/log"
)
// GetDockerRegistryOrg parses the docker registry organisation from various places
func (o *CommonOptions) GetDockerRegistryOrg(projectConfig *config.ProjectConfig, repository *gits.GitRepository) string {
answer := ""
if projectConfig != nil {
answer = projectConfig.DockerRegistryOwner
}
if answer == "" {
teamSettings, err := o.TeamSettings()
if err != nil {
log.Logger().Warnf("Could not load team settings %s", err.Error())
} else {
answer = teamSettings.DockerRegistryOrg
}
if answer == "" {
answer = os.Getenv("DOCKER_REGISTRY_ORG")
}
if answer == "" && repository != nil {
answer = repository.Organisation
}
}
return strings.ToLower(answer)
}
// GetDockerRegistry parses the docker registry from various places
func (o *CommonOptions) GetDockerRegistry(projectConfig *config.ProjectConfig) string {
dockerRegistry := ""
if projectConfig != nil {
dockerRegistry = projectConfig.DockerRegistryHost
}
if dockerRegistry == "" {
dockerRegistry = os.Getenv("DOCKER_REGISTRY")
}
if dockerRegistry == "" {
kubeClient, ns, err := o.KubeClientAndDevNamespace()
if err != nil {
log.Logger().Warnf("failed to create kube client: %s", err.Error())
} else {
name := kube.ConfigMapJenkinsDockerRegistry
data, err := kube.GetConfigMapData(kubeClient, name, ns)
if err != nil {
log.Logger().Warnf("failed to load ConfigMap %s in namespace %s: %s", name, ns, err.Error())
} else {
dockerRegistry = data["docker.registry"]
}
}
}
return dockerRegistry
}