package main import ( "context" "fmt" "os" "github.com/containers/buildah/define" "github.com/containers/buildah/imagebuildah" "github.com/containers/storage" "github.com/containers/storage/pkg/unshare" "github.com/sirupsen/logrus" ) func main() { if imagebuildah.InitReexec() { return } unshare.MaybeReexecUsingUserNamespace(false) storeOptions, err := storage.DefaultStoreOptionsAutoDetectUID() if err != nil { logrus.Errorf("%v", err) os.Exit(1) } store, err := storage.GetStore(storeOptions) if err != nil { logrus.Errorf("%v", err) os.Exit(1) } _, ref, err := imagebuildah.BuildDockerfiles(context.TODO(), store, define.BuildOptions{ CommonBuildOpts: &define.CommonBuildOptions{}, Platforms: []struct{ OS, Arch, Variant string }{ {"linux", "arm64", ""}, {"linux", "amd64", ""}, {"linux", "ppc64le", ""}, {"linux", "s390x", ""}, }, Manifest: "list", }, ".") _, storeErr := store.Shutdown(false) if err != nil { logrus.Errorf("%v", err) os.Exit(1) } if ref != nil { fmt.Printf("%s\n", ref.String()) } if storeErr != nil { logrus.Warnf("%v", storeErr) } }