add event for image build
upon image build completion, a new image type event is written for "build". more intricate details, like pulling an image, that might be done by build must be implemented in different vendored packages only after libpod is split from podman. Fixes: #7022 Signed-off-by: Brent Baude <bbaude@redhat.com>
This commit is contained in:
parent
8eaacec150
commit
1c9753c230
|
@ -101,6 +101,8 @@ const (
|
|||
Attach Status = "attach"
|
||||
// AutoUpdate ...
|
||||
AutoUpdate Status = "auto-update"
|
||||
// Build ...
|
||||
Build Status = "build"
|
||||
// Checkpoint ...
|
||||
Checkpoint Status = "checkpoint"
|
||||
// Cleanup ...
|
||||
|
|
|
@ -127,6 +127,8 @@ func StringToStatus(name string) (Status, error) {
|
|||
switch name {
|
||||
case Attach.String():
|
||||
return Attach, nil
|
||||
case Build.String():
|
||||
return Build, nil
|
||||
case Checkpoint.String():
|
||||
return Checkpoint, nil
|
||||
case Cleanup.String():
|
||||
|
|
|
@ -17,6 +17,7 @@ import (
|
|||
"github.com/containers/image/v5/oci/layout"
|
||||
"github.com/containers/image/v5/types"
|
||||
"github.com/containers/podman/v2/libpod/define"
|
||||
"github.com/containers/podman/v2/libpod/events"
|
||||
"github.com/containers/podman/v2/libpod/image"
|
||||
"github.com/containers/podman/v2/pkg/util"
|
||||
"github.com/containers/storage"
|
||||
|
@ -150,9 +151,21 @@ func removeStorageContainers(ctrIDs []string, store storage.Store) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// newBuildEvent creates a new event based on completion of a built image
|
||||
func (r *Runtime) newImageBuildCompleteEvent(idOrName string) {
|
||||
e := events.NewEvent(events.Build)
|
||||
e.Type = events.Image
|
||||
e.Name = idOrName
|
||||
if err := r.eventer.Write(e); err != nil {
|
||||
logrus.Errorf("unable to write build event: %q", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Build adds the runtime to the imagebuildah call
|
||||
func (r *Runtime) Build(ctx context.Context, options imagebuildah.BuildOptions, dockerfiles ...string) (string, reference.Canonical, error) {
|
||||
id, ref, err := imagebuildah.BuildDockerfiles(ctx, r.store, options, dockerfiles...)
|
||||
// Write event for build completion
|
||||
r.newImageBuildCompleteEvent(id)
|
||||
return id, ref, err
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue