Added support for NamespaceOverride for KubeSphere

Signed-off-by: pixiake <guofeng@yunify.com>
This commit is contained in:
pixiake 2022-02-17 23:09:14 +08:00
parent b643854b14
commit f2c063a2cf
3 changed files with 18 additions and 0 deletions

View File

@ -122,12 +122,15 @@ func (d *DeployModule) Init() {
func MirrorRepo(kubeConf *common.KubeConf) string {
repo := kubeConf.Cluster.Registry.PrivateRegistry
namespaceOverride := kubeConf.Cluster.Registry.NamespaceOverride
version := kubeConf.Cluster.KubeSphere.Version
_, ok := kubesphere.CNSource[version]
if ok && os.Getenv("KKZONE") == "cn" {
if repo == "" {
repo = "registry.cn-beijing.aliyuncs.com/kubesphereio"
} else if len(namespaceOverride) != 0 {
repo = fmt.Sprintf("%s/%s", repo, namespaceOverride)
} else {
repo = fmt.Sprintf("%s/kubesphere", repo)
}
@ -146,6 +149,8 @@ func MirrorRepo(kubeConf *common.KubeConf) string {
default:
repo = "kubesphere"
}
} else if len(namespaceOverride) != 0 {
repo = fmt.Sprintf("%s/%s", repo, namespaceOverride)
} else {
repo = fmt.Sprintf("%s/kubesphere", repo)
}

View File

@ -103,6 +103,18 @@ func (s *Setup) Execute(runtime connector.Runtime) error {
}
}
if s.KubeConf.Cluster.Registry.NamespaceOverride != "" {
if _, err := runtime.GetRunner().SudoCmd(
fmt.Sprintf("sed -i '/namespace_override/s/\\:.*/\\: %s/g' %s", s.KubeConf.Cluster.Registry.NamespaceOverride, filePath),
false); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("add namespace override: %s failed", s.KubeConf.Cluster.Registry.NamespaceOverride))
}
} else {
if _, err := runtime.GetRunner().SudoCmd(fmt.Sprintf("sed -i '/namespace_override/d' %s", filePath), false); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("remove namespace override failed"))
}
}
_, ok := kubesphere.CNSource[s.KubeConf.Cluster.KubeSphere.Version]
if ok && (os.Getenv("KKZONE") == "cn" || s.KubeConf.Cluster.Registry.PrivateRegistry == "registry.cn-beijing.aliyuncs.com") {
if _, err := runtime.GetRunner().SudoCmd(

View File

@ -37,6 +37,7 @@ spec:
authentication:
jwtSecret: ""
local_registry: ""
namespace_override: ""
# dev_tag: ""
etcd:
monitoring: false