mirror of
https://github.com/containers/podman.git
synced 2025-11-04 00:50:15 +08:00
For podman machine init, deprecate the --image-path option for --image. --image now accepts the correct image from containers.conf Also, add the ability to specify an OCI image from the --image flag using the docker:// transport. Signed-off-by: Ashley Cui <acui@redhat.com>
33 lines
924 B
Go
33 lines
924 B
Go
package diskpull
|
|
|
|
import (
|
|
"context"
|
|
"strings"
|
|
|
|
"github.com/containers/podman/v5/pkg/machine/define"
|
|
"github.com/containers/podman/v5/pkg/machine/ocipull"
|
|
"github.com/containers/podman/v5/pkg/machine/stdpull"
|
|
)
|
|
|
|
func GetDisk(userInputPath string, dirs *define.MachineDirs, imagePath *define.VMFile, vmType define.VMType, name string) error {
|
|
var (
|
|
err error
|
|
mydisk ocipull.Disker
|
|
)
|
|
|
|
if userInputPath == "" || strings.HasPrefix(userInputPath, "docker://") {
|
|
mydisk, err = ocipull.NewOCIArtifactPull(context.Background(), dirs, userInputPath, name, vmType, imagePath)
|
|
} else {
|
|
if strings.HasPrefix(userInputPath, "http") {
|
|
// TODO probably should use tempdir instead of datadir
|
|
mydisk, err = stdpull.NewDiskFromURL(userInputPath, imagePath, dirs.DataDir, nil)
|
|
} else {
|
|
mydisk, err = stdpull.NewStdDiskPull(userInputPath, imagePath)
|
|
}
|
|
}
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return mydisk.Get()
|
|
}
|