feat(builder): add REGISTRY_PROJECT for easy registry migration
DockerHub (flat): REGISTRY_HOST=naeel, REGISTRY_PROJECT=<empty>
-> naeel/{nsPrefix}-{func}:{tag}
Harbor/GCR (project): REGISTRY_HOST=host, REGISTRY_PROJECT=proj
-> host/proj/{func}:{tag}
Switch registry by changing 2 env vars only.
This commit is contained in:
@@ -29,6 +29,12 @@ type Config struct {
|
||||
// Registry — куда пушим собранные образы функций (DockerHub: "naeel", приватный: "host:port/prefix")
|
||||
RegistryHost string
|
||||
|
||||
// RegistryProject — опциональный проект/организация внутри registry.
|
||||
// Если задан, imageRef = {host}/{project}/{func}:{tag} (Harbor, GCR, GHCR, любой с project-изоляцией)
|
||||
// Если пуст, imageRef = {host}/{nsPrefix}-{func}:{tag} (DockerHub — только 2 уровня)
|
||||
// Смена реестра = смена REGISTRY_HOST + REGISTRY_PROJECT без пересборки оператора.
|
||||
RegistryProject string
|
||||
|
||||
// RegistrySecret — имя k8s Secret типа kubernetes.io/dockerconfigjson
|
||||
// Монтируется в kaniko Job для авторизации в registry.
|
||||
// Создаётся через hack/create-registry-secret.sh
|
||||
@@ -113,6 +119,9 @@ func Load() (*Config, error) {
|
||||
return nil, fmt.Errorf("REGISTRY_HOST is required")
|
||||
}
|
||||
|
||||
// REGISTRY_PROJECT — опциональный проект/org (Harbor: namespace; DockerHub: пусто)
|
||||
cfg.RegistryProject = os.Getenv("REGISTRY_PROJECT")
|
||||
|
||||
// Secret с docker-кредами для kaniko (опционально — без него push в приватный registry упадёт)
|
||||
cfg.RegistrySecret = os.Getenv("REGISTRY_SECRET")
|
||||
if cfg.RegistrySecret == "" {
|
||||
|
||||
Reference in New Issue
Block a user