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

Function loadImageTag

agent/utils/postgresql/client/remote.go:371–391  ·  view source on GitHub ↗
(database string)

Source from the content-addressed store, hash-verified

369}
370
371func loadImageTag(database string) (string, error) {
372 var db model.Database
373 if err := global.DB.Model(&model.Database{}).Where("name = ?", database).First(&db).Error; err != nil {
374 return "", fmt.Errorf("load database %s info failed, err: %v", database, err)
375 }
376
377 client, err := docker.NewDockerClient()
378 if err != nil {
379 return "", fmt.Errorf("create docker client failed, err: %v", err)
380 }
381 defer client.Close()
382 images, _ := client.ImageList(context.Background(), image.ListOptions{})
383 for _, image := range images {
384 for _, tag := range image.RepoTags {
385 if strings.HasPrefix(tag, "postgres:"+strings.TrimSuffix(db.Version, "x")) {
386 return tag, nil
387 }
388 }
389 }
390 return "postgres:" + strings.ReplaceAll(db.Version, ".x", "-alpine"), nil
391}

Callers 2

BackupMethod · 0.85
RecoverMethod · 0.85

Calls 1

CloseMethod · 0.65

Tested by

no test coverage detected