Made image registries configurable from registry.yaml file

This commit is contained in:
Adelina Tuvenie 2018-02-22 16:03:51 +02:00
parent 9d8c9cc9fe
commit bb59d44deb
2 changed files with 46 additions and 8 deletions

View File

@ -9,6 +9,9 @@ go_library(
name = "go_default_library", name = "go_default_library",
srcs = ["manifest.go"], srcs = ["manifest.go"],
importpath = "k8s.io/kubernetes/test/utils/image", importpath = "k8s.io/kubernetes/test/utils/image",
deps = [
"//vendor/gopkg.in/yaml.v2:go_default_library",
],
) )
filegroup( filegroup(

View File

@ -18,16 +18,19 @@ package image
import ( import (
"fmt" "fmt"
"io/ioutil"
"os"
yaml "gopkg.in/yaml.v2"
) )
const ( type RegistryList struct {
dockerLibraryRegistry = "docker.io/library" DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"`
e2eRegistry = "gcr.io/kubernetes-e2e-test-images" E2eRegistry string `yaml:"e2eRegistry"`
gcRegistry = "k8s.gcr.io" GcRegistry string `yaml:"gcRegistry"`
PrivateRegistry = "gcr.io/k8s-authenticated-test" PrivateRegistry string `yaml:"privateRegistry"`
sampleRegistry = "gcr.io/google-samples" SampleRegistry string `yaml:"sampleRegistry"`
) }
type ImageConfig struct { type ImageConfig struct {
registry string registry string
name string name string
@ -46,7 +49,39 @@ func (i *ImageConfig) SetVersion(version string) {
i.version = version i.version = version
} }
func initReg() RegistryList {
registry := RegistryList{
DockerLibraryRegistry: "docker.io/library",
E2eRegistry: "gcr.io/kubernetes-e2e-test-images",
GcRegistry: "k8s.gcr.io",
PrivateRegistry: "gcr.io/k8s-authenticated-test",
SampleRegistry: "gcr.io/google-samples",
}
repoList := os.Getenv("KUBE_TEST_REPO_LIST")
if repoList == "" {
return registry
}
fileContent, err := ioutil.ReadFile(repoList)
if err != nil {
panic(fmt.Errorf("Error reading '%v' file contents: %v", repoList, err))
}
err = yaml.Unmarshal(fileContent, &registry)
if err != nil {
panic(fmt.Errorf("Error unmarshalling '%v' YAML file: %v", repoList, err))
}
return registry
}
var ( var (
registry = initReg()
dockerLibraryRegistry = registry.DockerLibraryRegistry
e2eRegistry = registry.E2eRegistry
gcRegistry = registry.GcRegistry
PrivateRegistry = registry.PrivateRegistry
sampleRegistry = registry.SampleRegistry
AdmissionWebhook = ImageConfig{e2eRegistry, "webhook", "1.12v2"} AdmissionWebhook = ImageConfig{e2eRegistry, "webhook", "1.12v2"}
APIServer = ImageConfig{e2eRegistry, "sample-apiserver", "1.0"} APIServer = ImageConfig{e2eRegistry, "sample-apiserver", "1.0"}
AppArmorLoader = ImageConfig{e2eRegistry, "apparmor-loader", "1.0"} AppArmorLoader = ImageConfig{e2eRegistry, "apparmor-loader", "1.0"}