[agent][deploy] - a

This commit is contained in:
zeaslity
2024-09-23 16:32:48 +08:00
parent 0d1ed24814
commit 5abae32231
44 changed files with 25982 additions and 12976 deletions

View File

@@ -77,8 +77,6 @@ func ImageFullNameToImageNameAndTag(imageFullName string) (imageName, imageTag s
// ImageFullNameToGzipFileName 必须输出长度为4的内容 =出现得次数为3
func ImageFullNameToGzipFileName(imageFullName string) (gzipFileName string) {
// harbor.cdcyy.cn/cmii/cmii-uav-platform:5.4.0 ==> cmlc=cmii=cmii-uav-platform=5.4.0.tar.gz
// rancher/fleet:v0.3.4
// ossr/srs:v5.0.1 ==> docker=cmii=srs=v5.0.1.tar.gz
@@ -86,58 +84,36 @@ func ImageFullNameToGzipFileName(imageFullName string) (gzipFileName string) {
// bitnami/minio:2022.5.4
// simonrupf/chronyd:0.4.3
// 10.1.1.1:8033/cmii/ok:1.2 不支持 不允许存在
split := strings.Split(imageFullName, ":")
//log.DebugF(" %s to %s", imageRepoTag, split)
if len(split) == 1 {
s := strings.Split(imageFullName, ":")
if len(s) == 1 {
// nginx
return "docker=library=" + imageFullName + "=latest.tar.gz"
return "docker=cmii=" + imageFullName + "=latest.tar.gz"
} else if len(s) > 2 {
// 10.1.1.1:8033/cmii/ok:1.2 不支持 不允许存在
return "unsupport=" + imageFullName
}
middle := s[len(s)-2]
split := strings.Split(middle, "/")
if len(split) == 1 {
// nginx:latest
return "docker=cmii=" + s[0] + "=" + s[1] + ".tar.gz"
}
first := strings.Split(split[0], "/")
//log.DebugF(" split[0] %s to %s", split[0], first)
if len(first) == 3 {
if strings.HasPrefix(imageFullName, "harbor.cdcyy.com.cn") {
// harbor.cdcyy.cn/cmii/cmii-uav-platform:5.4.0 ==> cmlc=cmii=cmii-uav-platform=5.4.0.tar.gz
// harbor.cdcyy.cn/cmii/cmii-uav-platform:5.4.0
// docker.io/ossr/srs:v5.0.1
// docker.107421.xyz/rancher/calico-cni:v3.17.2
if strings.HasPrefix(split[0], CmiiHarborPrefix) {
gzipFileName += "cmlc=cmii="
} else if strings.Contains(split[0], "rancher") {
gzipFileName += "docker=rancher="
} else {
gzipFileName += "docker=cmii="
}
gzipFileName += first[2]
gzipFileName += "="
} else if len(first) == 4 {
// harbor.cdcyy.cn/cmii/ossr/srs:v5.0.1
// harbor.cdcyy.com.cn/cmii/cmlc-ai/cmlc-ai-operator:v5.2.0-t4-no-dino
if !strings.HasPrefix(split[0], CmiiHarborPrefix) {
return imageFullName
}
gzipFileName += "cmlc=cmii="
gzipFileName += first[3]
gzipFileName += "="
} else if len(first) == 2 {
// bitnami/redis
// ossrs/srs
gzipFileName += "docker="
gzipFileName += first[0]
gzipFileName += "="
gzipFileName += first[1]
gzipFileName += "="
} else if len(first) == 1 {
// nginx:latest
return "docker=library=" + split[0] + "=" + split[1] + ".tar.gz"
return "cmlc=cmii=" + split[len(split)-1] + "=" + s[1] + ".tar.gz"
} else if strings.Contains(imageFullName, "rancher") {
return "docker=rancher=" + split[len(split)-1] + "=" + s[1] + ".tar.gz"
} else {
// ossrs/srs:v4.0.136
return "docker=cmii=" + split[len(split)-1] + "=" + s[1] + ".tar.gz"
}
gzipFileName += split[1]
gzipFileName += ".tar.gz"
return gzipFileName
return "unsupport=" + imageFullName
}
// ImageNameToTargetImageFullName 将ImageName转换为目标TargetHosts的全名称ImageName的格式为 短名称或者长名称 均可