[CMII] [Operator] - offline image download
This commit is contained in:
@@ -3,21 +3,19 @@ package cmii_operator
|
||||
import (
|
||||
"errors"
|
||||
"os"
|
||||
"strings"
|
||||
"wdd.io/agent-go/executor"
|
||||
"wdd.io/agent-go/utils"
|
||||
)
|
||||
|
||||
func FetchDemoImages(projectName, projectFolderPath string) bool {
|
||||
if !strings.HasSuffix(projectFolderPath, "/") {
|
||||
projectFolderPath += "/"
|
||||
}
|
||||
const OfflineImageGzipFolderPrefix = "/root/octopus_image/"
|
||||
|
||||
func FetchDemoImages(projectName string, gzipSplit bool) bool {
|
||||
|
||||
// generate a project folder
|
||||
err := os.Mkdir(projectFolderPath, os.ModeDir)
|
||||
err := os.Mkdir(OfflineImageGzipFolderPrefix+projectName, os.ModeDir)
|
||||
if err != nil {
|
||||
if !errors.Is(err, os.ErrExist) {
|
||||
log.ErrorF("[FetchDemoImages] - create folder of %s error %s", projectFolderPath, err.Error())
|
||||
log.ErrorF("[FetchDemoImages] - create folder of %s error %s", OfflineImageGzipFolderPrefix+projectName, err.Error())
|
||||
return false
|
||||
}
|
||||
}
|
||||
@@ -29,8 +27,8 @@ func FetchDemoImages(projectName, projectFolderPath string) bool {
|
||||
utils.BeautifulPrint(frontendMap)
|
||||
|
||||
// save map to file
|
||||
backendMapFile := projectFolderPath + projectName + "-backend-app.json"
|
||||
frontendMapFile := projectFolderPath + projectName + "-frontend-app.json"
|
||||
backendMapFile := OfflineImageGzipFolderPrefix + projectName + "-backend-app.json"
|
||||
frontendMapFile := OfflineImageGzipFolderPrefix + projectName + "-frontend-app.json"
|
||||
_ = os.Remove(backendMapFile)
|
||||
_ = os.Remove(frontendMapFile)
|
||||
|
||||
@@ -48,10 +46,31 @@ func FetchDemoImages(projectName, projectFolderPath string) bool {
|
||||
ImagePullFromCmiiHarborByMap(frontendMap, true)
|
||||
|
||||
// compress image
|
||||
|
||||
if gzipSplit {
|
||||
for image, tag := range backendMap {
|
||||
ImageSaveToTarGZ(image+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/")
|
||||
}
|
||||
for image, tag := range frontendMap {
|
||||
ImageSaveToTarGZ(image+":"+tag, OfflineImageGzipFolderPrefix+projectName+"/app/")
|
||||
}
|
||||
}
|
||||
// upload to harbor
|
||||
|
||||
// clean up images
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func FetchDependencyRepos(gzipSplit bool) {
|
||||
err := os.Mkdir(OfflineImageGzipFolderPrefix, os.ModeDir)
|
||||
if err != nil {
|
||||
if !errors.Is(err, os.ErrExist) {
|
||||
log.ErrorF("[FetchDependencyRepos] - create folder of %s error %s", OfflineImageGzipFolderPrefix, err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
ImagePullFromListAndCompressSplit(MiddlewareAmd64, OfflineImageGzipFolderPrefix+"middle/")
|
||||
|
||||
ImagePullFromListAndCompressSplit(Rancher1204Amd64, OfflineImageGzipFolderPrefix+"rke/")
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user