diff --git a/agent/app/dto/app.go b/agent/app/dto/app.go index 8b1c77d22..0fe36618f 100644 --- a/agent/app/dto/app.go +++ b/agent/app/dto/app.go @@ -95,7 +95,7 @@ type AppProperty struct { Github string `json:"github"` Document string `json:"document"` Architectures []string `json:"architectures"` - MemoryLimit int `json:"memoryLimit"` + MemoryRequired int `json:"memoryRequired"` } type AppConfigVersion struct { diff --git a/agent/app/dto/response/app.go b/agent/app/dto/response/app.go index df670b8ed..c0f0165c7 100644 --- a/agent/app/dto/response/app.go +++ b/agent/app/dto/response/app.go @@ -67,12 +67,12 @@ type AppInstalledCheck struct { type AppDetailDTO struct { model.AppDetail - Enable bool `json:"enable"` - Params interface{} `json:"params"` - Image string `json:"image"` - HostMode bool `json:"hostMode"` - Architectures string `json:"architectures"` - MemoryLimit int `json:"memoryLimit"` + Enable bool `json:"enable"` + Params interface{} `json:"params"` + Image string `json:"image"` + HostMode bool `json:"hostMode"` + Architectures string `json:"architectures"` + MemoryRequired int `json:"memoryRequired"` } type IgnoredApp struct { diff --git a/agent/app/model/app.go b/agent/app/model/app.go index 4f878dbcf..695007f56 100644 --- a/agent/app/model/app.go +++ b/agent/app/model/app.go @@ -27,7 +27,7 @@ type App struct { ReadMe string `json:"readMe"` LastModified int `json:"lastModified"` Architectures string `json:"architectures"` - MemoryLimit int `json:"memoryLimit"` + MemoryRequired int `json:"memoryRequired"` Details []AppDetail `json:"-" gorm:"-:migration"` TagsKey []string `json:"tags" yaml:"tags" gorm:"-"` diff --git a/agent/app/service/app_utils.go b/agent/app/service/app_utils.go index 7c63e2f84..21bfdf2ba 100644 --- a/agent/app/service/app_utils.go +++ b/agent/app/service/app_utils.go @@ -1118,7 +1118,7 @@ func getApps(oldApps []model.App, items []dto.AppDefine) map[string]model.App { app.Status = constant.AppNormal app.LastModified = item.LastModified app.ReadMe = item.ReadMe - app.MemoryLimit = config.MemoryLimit + app.MemoryRequired = config.MemoryRequired app.Architectures = strings.Join(config.Architectures, ",") apps[key] = app } diff --git a/agent/app/task/task.go b/agent/app/task/task.go index a2bf8f6e9..8a3ef3ee2 100644 --- a/agent/app/task/task.go +++ b/agent/app/task/task.go @@ -120,7 +120,10 @@ func (t *Task) AddSubTaskWithIgnoreErr(name string, action ActionFunc) { } func (s *SubTask) Execute() error { - s.RootTask.Log(s.Name) + subTaskName := s.Name + if s.Name == "" { + subTaskName = i18n.GetMsgByKey("SubTask") + } var err error for i := 0; i < s.Retry+1; i++ { if i > 0 { @@ -136,12 +139,12 @@ func (s *SubTask) Execute() error { select { case <-ctx.Done(): - s.RootTask.Log(i18n.GetWithName("TaskTimeout", s.Name)) + s.RootTask.Log(i18n.GetWithName("TaskTimeout", subTaskName)) case err = <-done: if err != nil { - s.RootTask.Log(i18n.GetWithNameAndErr("SubTaskFailed", s.Name, err)) + s.RootTask.Log(i18n.GetWithNameAndErr("SubTaskFailed", subTaskName, err)) } else { - s.RootTask.Log(i18n.GetWithName("SubTaskSuccess", s.Name)) + s.RootTask.Log(i18n.GetWithName("SubTaskSuccess", subTaskName)) return nil } } diff --git a/agent/cmd/server/conf/app.yaml b/agent/cmd/server/conf/app.yaml index 2bed83268..0c9a5a799 100644 --- a/agent/cmd/server/conf/app.yaml +++ b/agent/cmd/server/conf/app.yaml @@ -1,9 +1,12 @@ system: db_agent_file: agent.db + db_core_file: core.db base_dir: /opt mode: dev repo_url: https://resource.fit2cloud.com/1panel/package app_repo: https://apps-assets.fit2cloud.com + username: admin + password: admin log: level: debug diff --git a/agent/i18n/lang/en.yaml b/agent/i18n/lang/en.yaml index 20a363c1c..90381fba6 100644 --- a/agent/i18n/lang/en.yaml +++ b/agent/i18n/lang/en.yaml @@ -236,4 +236,5 @@ EnableSSL: "Enable HTTPS" AppStore: "App Store" TaskSync: "Sync" LocalApp: "Local App" +SubTask: "Subtask" diff --git a/agent/i18n/lang/zh-Hant.yaml b/agent/i18n/lang/zh-Hant.yaml index 09a966996..4ad1d53ff 100644 --- a/agent/i18n/lang/zh-Hant.yaml +++ b/agent/i18n/lang/zh-Hant.yaml @@ -238,4 +238,5 @@ EnableSSL: "開啟 HTTPS" AppStore: "應用商店" TaskSync: "同步" LocalApp: "本地應用" +SubTask: "子任務" diff --git a/agent/i18n/lang/zh.yaml b/agent/i18n/lang/zh.yaml index 6bb68baba..6816556b8 100644 --- a/agent/i18n/lang/zh.yaml +++ b/agent/i18n/lang/zh.yaml @@ -238,4 +238,5 @@ AppLink: "关联应用" EnableSSL: "开启 HTTPS" AppStore: "应用商店" TaskSync: "同步" -LocalApp: "本地应用" \ No newline at end of file +LocalApp: "本地应用" +SubTask: "子任务" \ No newline at end of file diff --git a/agent/init/migration/migrations/init.go b/agent/init/migration/migrations/init.go index dfbc2272c..dc5e9fdd7 100644 --- a/agent/init/migration/migrations/init.go +++ b/agent/init/migration/migrations/init.go @@ -235,14 +235,6 @@ var UpdateWebsiteDomain = &gormigrate.Migration{ }, } -var UpdateApp = &gormigrate.Migration{ - ID: "20240822-update-app", - Migrate: func(tx *gorm.DB) error { - return tx.AutoMigrate( - &model.App{}) - }, -} - var AddTaskDB = &gormigrate.Migration{ ID: "20240822-add-task-table", Migrate: func(tx *gorm.DB) error { @@ -251,3 +243,11 @@ var AddTaskDB = &gormigrate.Migration{ ) }, } + +var UpdateApp = &gormigrate.Migration{ + ID: "20240823-update-app", + Migrate: func(tx *gorm.DB) error { + return tx.AutoMigrate( + &model.App{}) + }, +} diff --git a/frontend/src/api/interface/app.ts b/frontend/src/api/interface/app.ts index 46b36f87c..9f00e30e9 100644 --- a/frontend/src/api/interface/app.ts +++ b/frontend/src/api/interface/app.ts @@ -49,7 +49,7 @@ export namespace App { dockerCompose: string; image: string; hostMode?: boolean; - memoryLimit: number; + memoryRequired: number; architectures: string; } diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 7d5d5c869..ba6e3be51 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -1879,6 +1879,7 @@ const message = { link: 'Link', showCurrentArch: 'Architecture', syncLocalApp: 'Sync Local App', + memoryRequiredHelper: 'Current application memory requirement {0}', }, website: { website: 'Website', diff --git a/frontend/src/lang/modules/tw.ts b/frontend/src/lang/modules/tw.ts index b8ae1fde4..ca541209d 100644 --- a/frontend/src/lang/modules/tw.ts +++ b/frontend/src/lang/modules/tw.ts @@ -1745,6 +1745,7 @@ const message = { link: '鏈接', showCurrentArch: '僅顯示當前架構', syncLocalApp: '同步本地應用', + memoryRequiredHelper: '目前應用記憶體需求 {0}', }, website: { website: '網站', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 15aa82db4..a87c851cd 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -1746,6 +1746,7 @@ const message = { link: '链接', showCurrentArch: '仅显示当前服务器架构应用', syncLocalApp: '同步本地应用', + memoryRequiredHelper: '当前应用内存需求 {0}', }, website: { website: '网站', diff --git a/frontend/src/views/app-store/detail/index.vue b/frontend/src/views/app-store/detail/index.vue index 29eec404e..7446db4cf 100644 --- a/frontend/src/views/app-store/detail/index.vue +++ b/frontend/src/views/app-store/detail/index.vue @@ -58,8 +58,8 @@ - - {{ appDetail.memoryLimit }} MB + + {{ computeSizeFromMB(appDetail.memoryRequired) }} @@ -81,8 +81,9 @@ import { ref } from 'vue'; import Install from './install/index.vue'; import router from '@/routers'; import { GlobalStore } from '@/store'; -import { getLanguage } from '@/utils/util'; +import { getLanguage, computeSizeFromMB } from '@/utils/util'; import { storeToRefs } from 'pinia'; + const globalStore = GlobalStore(); const { isDarkTheme } = storeToRefs(globalStore); diff --git a/frontend/src/views/app-store/detail/install/index.vue b/frontend/src/views/app-store/detail/install/index.vue index 356cfe68d..79ed369d4 100644 --- a/frontend/src/views/app-store/detail/install/index.vue +++ b/frontend/src/views/app-store/detail/install/index.vue @@ -1,13 +1,19 @@