mirror of
https://github.com/containers/podman.git
synced 2026-07-13 00:31:45 -04:00
The podman module paths are moving from github.com/containers/podman to go.podman.io/podman. This will help with future mobility. Signed-off-by: Brent Baude <bbaude@redhat.com>
35 lines
777 B
Go
35 lines
777 B
Go
//go:build !remote && (linux || freebsd)
|
|
|
|
package generate
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go.podman.io/common/pkg/config"
|
|
"go.podman.io/podman/v6/libpod"
|
|
)
|
|
|
|
// PullInfraImage pulls down the specified image or the one set in
|
|
// containers.conf. If none is set, it returns an empty string. In this
|
|
// case, the rootfs-based pause image is used by libpod.
|
|
func PullInfraImage(rt *libpod.Runtime, imageName string) (string, error) {
|
|
rtConfig, err := rt.GetConfigNoCopy()
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
if imageName == "" {
|
|
imageName = rtConfig.Engine.InfraImage
|
|
}
|
|
|
|
if imageName != "" {
|
|
_, err := rt.LibimageRuntime().Pull(context.Background(), imageName, config.PullPolicyMissing, nil)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return imageName, nil
|
|
}
|
|
|
|
return "", nil
|
|
}
|