Skip to content

Commit 191d9fa

Browse files
committed
fix telego img uploader
1 parent 2bb5f76 commit 191d9fa

File tree

8 files changed

+50
-21
lines changed

8 files changed

+50
-21
lines changed

3.upload.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@
99
print("upload onlywin")
1010
os.system("rclone copy -P dist remote:/teledeploy/bin_telego/ --exclude telego_linux_amd64 --exclude telego_linux_arm64")
1111
exit(0)
12-
if sys.argv[1]=="onlylinuxamd":
12+
elif sys.argv[1]=="onlylinuxamd":
1313
print("upload onlylinuxamd")
1414
os.system("rclone copy -P dist remote:/teledeploy/bin_telego/ --exclude telego_windows_amd64.exe --exclude telego_linux_arm64")
1515
exit(0)
16+
else:
17+
print("invalid arg", sys.argv[1])
18+
exit(1)
1619

1720
os.system("rclone copy -P dist remote:/teledeploy/bin_telego/")

app/deployment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func (d *DeploymentYaml) Verify(prjName string, prjDir string, yml []byte, skipR
8686
// default values
8787
LocalValues: map[string]LocalValue{
8888
"MAIN_NODE_IP": LocalValueStr{Value: util.MainNodeIp},
89-
"IMG_REPO": LocalValueStr{Value: util.ImgRepoAddressNoPrefix},
89+
"IMG_REPO": LocalValueStr{Value: util.ImgRepoAddressNoPrefix()},
9090
"BIN_PRJ": LocalValueStr{Value: prjName},
9191
},
9292
Secrets: d.Secrets,

app/deployment_ope_upload.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ for image in images:
194194
f"--arch amd64 {REPO_HOST}/{REPO_NAMESPACE}/{img_key_no_prefix}_amd64")
195195
run_command(f"{sudo_prefix}docker manifest push {REPO_HOST}/{REPO_NAMESPACE}/{img_key_no_prefix} --insecure")
196196
os.chdir("..")
197-
`, strings.Join(imageNamesWithQuotes, ","), util.ImgRepoAddressNoPrefix, imgRepo.User, imgRepo.Password)
197+
`, strings.Join(imageNamesWithQuotes, ","), util.ImgRepoAddressNoPrefix(), imgRepo.User, imgRepo.Password)
198198

199199
util.StartRemoteCmds([]string{
200200
fmt.Sprintf("%s@%s", util.MainNodeUser, util.MainNodeIp),

app/distribute_deploy_k3s.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ func (d DistributeDeployerK3s) PrepareMasterSetupCtxBase64(masters []clusterconf
289289
func (d DistributeDeployerK3s) Registry(registryConf util.ContainerRegistryConf) error {
290290
util.PrintStep("Registry", "updating registry...")
291291
regiPath := "/etc/rancher/k3s/registries.yaml"
292-
registryHost := util.ImgRepoAddressNoPrefix
292+
registryHost := util.ImgRepoAddressNoPrefix()
293293
configHost := &map[string]interface{}{
294294
"auth": map[string]interface{}{
295295
"username": registryConf.User,

app/job_apply_dist.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,8 @@ func (m ModJobApplyDistStruct) gendaemonset(
233233
return arr
234234
}(),
235235
"Distribution": d.Distribution,
236-
"InitImage": path.Join(util.ImgRepoAddressNoPrefix, "teleinfra/python:3.12.5"),
237-
"RuntimeImage": path.Join(util.ImgRepoAddressNoPrefix, "teleinfra/openssh:9.1"),
236+
"InitImage": path.Join(util.ImgRepoAddressNoPrefix(), "teleinfra/python:3.12.5"),
237+
"RuntimeImage": path.Join(util.ImgRepoAddressNoPrefix(), "teleinfra/openssh:9.1"),
238238
"MainNodeIP": util.MainNodeIp,
239239
"InstallCurlCmd": strings.ReplaceAll(
240240
util.ModContainerCmd{}.WithHostCurl("/host-usr"), "\n", "\n "),

app/job_img_repo.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,22 @@ func (m ModJobImgRepoStruct) startImgRepo() error {
101101
if err != nil {
102102
return "", err
103103
}
104-
yamlConfig["hostname"] = util.ImgRepoAddressNoPrefix
104+
yamlConfig["hostname"] = util.ImgRepoAddressNoPrefix()
105105
yamlConfig["harbor_admin_password"] = config.Password
106106

107107
port := "80"
108-
if strings.Contains(":", util.ImgRepoAddressNoPrefix) {
109-
port = strings.Split(util.ImgRepoAddressNoPrefix, ":")[1]
108+
if strings.Contains(util.ImgRepoAddressNoPrefix(), ":") {
109+
port = strings.Split(util.ImgRepoAddressNoPrefix(), ":")[1]
110+
yamlConfig["hostname"] = strings.Split(util.ImgRepoAddressNoPrefix(), ":")[0]
110111
}
112+
111113
if strings.HasPrefix(util.ImgRepoAddressWithPrefix, "http://") {
114+
util.PrintStep("img repo", "starting img repo with http, addr:"+util.ImgRepoAddressNoPrefix()+", port:"+port)
112115
yamlConfig["http"] = map[string]string{"port": port}
113116
// remove https key
114117
delete(yamlConfig, "https")
115118
} else {
119+
util.PrintStep("img repo", "starting img repo with https, addr:"+util.ImgRepoAddressNoPrefix()+", port:"+port)
116120
if port == "80" {
117121
port = "443"
118122
}

app/job_img_uploader.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ func (m *ImgUploaderUploadHandlerV2) checkAndUploadImgs(imageDir string) ([]stri
762762
{
763763
tagWithArch := func(info ImageInfo, arch string) (string, error) {
764764
// 1. tag by info.id
765-
registryTag := util.UrlJoin(util.ImgRepoAddressNoPrefix, "/teleinfra/"+imageBaseName(info)+":"+info.tag+"_"+arch)
765+
registryTag := util.UrlJoin(util.ImgRepoAddressNoPrefix(), "/teleinfra/"+imageBaseName(info)+":"+info.tag+"_"+arch)
766766
_, err := util.ModRunCmd.ShowProgress(
767767
"docker", "tag", info.id, registryTag,
768768
).WithRoot().BlockRun()
@@ -790,9 +790,9 @@ func (m *ImgUploaderUploadHandlerV2) checkAndUploadImgs(imageDir string) ([]stri
790790
push := func(tag string) error {
791791
cmds, err := util.ModDocker.PushDockerImage(tag)
792792
for _, cmd := range cmds {
793-
_, err := cmd.BlockRun()
793+
outPut, err := cmd.BlockRun()
794794
if err != nil {
795-
return fmt.Errorf("docker upload %v failed %v", cmd.Cmds(), err)
795+
return fmt.Errorf("docker upload %v failed %v, Output:%s", cmd.Cmds(), err, outPut)
796796
}
797797
}
798798
return err
@@ -811,7 +811,7 @@ func (m *ImgUploaderUploadHandlerV2) checkAndUploadImgs(imageDir string) ([]stri
811811
}
812812

813813
// 3. manifest, allow fail
814-
noArchTag := util.UrlJoin(util.ImgRepoAddressNoPrefix, "/teleinfra/"+imageBaseName(*amdInfo)+":"+amdInfo.tag)
814+
noArchTag := util.UrlJoin(util.ImgRepoAddressNoPrefix(), "/teleinfra/"+imageBaseName(*amdInfo)+":"+amdInfo.tag)
815815
fmt.Println("manifest noArchTag:", noArchTag)
816816
util.ModRunCmd.ShowProgress(
817817
"docker", "manifest", "create",
@@ -930,19 +930,22 @@ func ImgUploaderUploadHandlerV1(c *gin.Context) {
930930
// c.JSON(http.StatusOK, gin.H{
931931
// "message": "Upload started",
932932
// })
933-
933+
fmt.Println("11111")
934934
// 检查请求方法是否为 POST
935935
if c.Request.Method != "POST" {
936936
c.JSON(405, gin.H{"error": "Invalid request method"})
937937
return
938938
}
939939

940+
fmt.Println("22222")
941+
940942
// 获取所有表单数据
941943
form, err := c.MultipartForm()
942944
if err != nil {
943945
c.JSON(400, gin.H{"error": "Error retrieving form data"})
944946
return
945947
}
948+
fmt.Println("33333")
946949

947950
// 获取文件部分
948951
files := form.File["files"] // 获取字段名为 "files" 的文件
@@ -951,11 +954,14 @@ func ImgUploaderUploadHandlerV1(c *gin.Context) {
951954
return
952955
}
953956

957+
fmt.Println("44444")
958+
954959
// tarFiles := []string{}
955960
tempDir, err := os.MkdirTemp("", "uploads-*")
956961
defer os.RemoveAll(tempDir)
957962

958963
if err != nil {
964+
fmt.Println("55555")
959965
c.JSON(500, gin.H{"error": fmt.Sprintf("Error creating temp dir: %v", err)})
960966
return
961967
}
@@ -967,6 +973,8 @@ func ImgUploaderUploadHandlerV1(c *gin.Context) {
967973
}
968974
file, err := fileHeader.Open()
969975
if err != nil {
976+
fmt.Println("66666")
977+
970978
c.JSON(500, gin.H{"error": fmt.Sprintf("Error opening file %s: %v", fileHeader.Filename, err)})
971979
return
972980
}
@@ -976,18 +984,21 @@ func ImgUploaderUploadHandlerV1(c *gin.Context) {
976984

977985
dstPath := filepath.Join(tempDir, fileHeader.Filename)
978986
if err := os.MkdirAll(filepath.Dir(dstPath), 0755); err != nil {
987+
fmt.Println("77777")
979988
c.JSON(500, gin.H{"error": fmt.Sprintf("Error creating directory: %v", err)})
980989
return
981990
}
982991
dstFile, err := os.Create(dstPath)
983992
if err != nil {
993+
fmt.Println("88888")
984994
c.JSON(500, gin.H{"error": fmt.Sprintf("Error saving file %s: %v", fileHeader.Filename, err)})
985995
return
986996
}
987997
defer dstFile.Close()
988998

989999
// 将上传的文件内容写入目标文件
9901000
if _, err := io.Copy(dstFile, file); err != nil {
1001+
fmt.Println("99999")
9911002
c.JSON(500, gin.H{"error": fmt.Sprintf("Error writing file %s: %v", fileHeader.Filename, err)})
9921003
return
9931004
}
@@ -999,6 +1010,7 @@ func ImgUploaderUploadHandlerV1(c *gin.Context) {
9991010

10001011
succress, err := (&ImgUploaderUploadHandlerV2{}).checkAndUploadImgs(tempDir)
10011012
if err != nil {
1013+
fmt.Println("aaaaa")
10021014
c.JSON(500, gin.H{"error": fmt.Errorf("checkAndUploadImgs failed: %v", err)})
10031015
return
10041016
}

util/docker.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,22 @@ import (
66
"strings"
77
)
88

9-
var ImgRepoAddressNoPrefix = strings.ReplaceAll(
10-
strings.ReplaceAll(
11-
ImgRepoAddressWithPrefix,
12-
"https://", ""),
13-
"http://", "",
14-
)
9+
// var ImgRepoAddressNoPrefix = strings.ReplaceAll(
10+
//
11+
// strings.ReplaceAll(
12+
// ImgRepoAddressWithPrefix,
13+
// "https://", ""),
14+
// "http://", "",
15+
//
16+
// )
17+
func ImgRepoAddressNoPrefix() string {
18+
return strings.ReplaceAll(
19+
strings.ReplaceAll(
20+
ImgRepoAddressWithPrefix,
21+
"https://", ""),
22+
"http://", "",
23+
)
24+
}
1525

1626
type ModDockerStruct struct {
1727
}
@@ -30,7 +40,7 @@ func (m ModDockerStruct) DockerLoginCmd() ([]string, error) {
3040
if dockerUser == "" || dockerPassword == "" {
3141
return []string{}, errors.New("docker user or password is empty")
3242
}
33-
return []string{"docker", "login", ImgRepoAddressNoPrefix, "-u", dockerUser, "-p", dockerPassword}, nil
43+
return []string{"docker", "login", ImgRepoAddressNoPrefix(), "-u", dockerUser, "-p", dockerPassword}, nil
3444
}
3545

3646
func (m ModDockerStruct) BuildDockerImage(dockerfilePath string, targetImgName string) *CmdBuilder {

0 commit comments

Comments
 (0)