From 68edfd58e7adb91641e461c0f47565b15a7e6e05 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Fri, 4 Jun 2021 12:08:57 +0200 Subject: [PATCH] Keep emitting plugin events --- pkg/helpers/docker/docker.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/helpers/docker/docker.go b/pkg/helpers/docker/docker.go index efa0f161..52aa8c27 100644 --- a/pkg/helpers/docker/docker.go +++ b/pkg/helpers/docker/docker.go @@ -31,6 +31,7 @@ import ( "github.com/google/go-containerregistry/pkg/name" "github.com/google/go-containerregistry/pkg/v1/mutate" "github.com/google/go-containerregistry/pkg/v1/remote" + "github.com/mudler/luet/pkg/bus" "github.com/opencontainers/go-digest" specs "github.com/opencontainers/image-spec/specs-go/v1" "github.com/pkg/errors" @@ -142,6 +143,12 @@ type Image struct { ContentSize int64 } +// UnpackEventData is the data structure to pass for the bus events +type UnpackEventData struct { + Image string + Dest string +} + // DownloadAndExtractDockerImage is a re-adaption func DownloadAndExtractDockerImage(temp, image, dest string, auth *types.AuthConfig, verify bool) (*Image, error) { if verify { @@ -185,11 +192,16 @@ func DownloadAndExtractDockerImage(temp, image, dest string, auth *types.AuthCon if err := os.MkdirAll(dest, 0700); err != nil { return nil, err } + + bus.Manager.Publish(bus.EventImagePreUnPack, UnpackEventData{Image: image, Dest: dest}) + c, err := archive.Apply(context.TODO(), dest, reader) if err != nil { return nil, err } + bus.Manager.Publish(bus.EventImagePostUnPack, UnpackEventData{Image: image, Dest: dest}) + return &Image{ Name: image,