MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / stepLoadComposeRecoverMeta

Function stepLoadComposeRecoverMeta

agent/app/service/backup_compose.go:556–577  ·  view source on GitHub ↗
(recoverCtx *composeRecoverContext)

Source from the content-addressed store, hash-verified

554}
555
556func stepLoadComposeRecoverMeta(recoverCtx *composeRecoverContext) error {
557 metaPath := path.Join(recoverCtx.tmpDir, "compose_meta.json")
558 if !recoverCtx.fileOp.Stat(metaPath) {
559 return fmt.Errorf("compose_meta.json not found in backup file")
560 }
561 metaBytes, err := os.ReadFile(metaPath)
562 if err != nil {
563 return err
564 }
565 if err := json.Unmarshal(metaBytes, &recoverCtx.meta); err != nil {
566 return fmt.Errorf("unmarshal compose_meta.json failed, err: %v", err)
567 }
568 recoverCtx.composeName = strings.TrimSpace(recoverCtx.req.Name)
569 if recoverCtx.composeName == "" {
570 recoverCtx.composeName = strings.TrimSpace(recoverCtx.meta.ComposeName)
571 }
572 if recoverCtx.composeName == "" {
573 return fmt.Errorf("compose name not found in recover request or backup file")
574 }
575 recoverCtx.targetDir = resolveComposeRecoverTargetDir(recoverCtx.meta, recoverCtx.composeName)
576 return nil
577}
578
579func resolveComposeRecoverTargetDir(meta composeBackupMeta, composeName string) string {
580 composePath := strings.TrimSpace(meta.ComposePath)

Callers 1

handleComposeRecoverFunction · 0.85

Calls 2

StatMethod · 0.45

Tested by

no test coverage detected