Skip to content

Commit 83b6234

Browse files
committed
Fixed #27260 Use NewArtifactEvent by injecting dependency in NewArtifactStore
Signed-off-by: ByoungUk Lee <[email protected]>
1 parent 3830616 commit 83b6234

File tree

3 files changed

+79
-76
lines changed

3 files changed

+79
-76
lines changed

libpod/runtime.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,15 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (retErr error) {
531531

532532
// Using sync once value to only init the store exactly once and only when it will be actually be used.
533533
runtime.ArtifactStore = sync.OnceValues(func() (*artStore.ArtifactStore, error) {
534-
return artStore.NewArtifactStore(filepath.Join(runtime.storageConfig.GraphRoot, "artifacts"), runtime.SystemContext())
534+
artifactEventCallBack := func(status, name, digest string, attributes map[string]string) {
535+
eventStatus, err := events.StringToStatus(status)
536+
if err != nil {
537+
logrus.Errorf("Unknown artifact event status %q: %v", status, err)
538+
return
539+
}
540+
runtime.NewArtifactEvent(eventStatus, name, digest, attributes)
541+
}
542+
return artStore.NewArtifactStore(filepath.Join(runtime.storageConfig.GraphRoot, "artifacts"), runtime.SystemContext(), artifactEventCallBack)
535543
})
536544
}
537545

pkg/domain/infra/abi/artifact.go

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"os"
1111
"time"
1212

13-
"github.com/containers/podman/v5/libpod/events"
1413
"github.com/containers/podman/v5/pkg/domain/entities"
1514
"github.com/opencontainers/go-digest"
1615
"github.com/sirupsen/logrus"
@@ -87,8 +86,6 @@ func (ir *ImageEngine) ArtifactPull(ctx context.Context, name string, opts entit
8786
if err != nil {
8887
return nil, err
8988
}
90-
91-
ir.Libpod.NewArtifactEvent(events.Pull, name, artifactDigest.String(), nil)
9289
return &entities.ArtifactPullReport{
9390
ArtifactDigest: &artifactDigest,
9491
}, nil
@@ -134,7 +131,6 @@ func (ir *ImageEngine) ArtifactRm(ctx context.Context, opts entities.ArtifactRem
134131
}
135132
return nil, err
136133
}
137-
ir.Libpod.NewArtifactEvent(events.Remove, "", namesOrDigest, nil)
138134
artifactDigests = append(artifactDigests, artifactDigest)
139135
}
140136
artifactRemoveReport := entities.ArtifactRemoveReport{
@@ -200,8 +196,6 @@ func (ir *ImageEngine) ArtifactPush(ctx context.Context, name string, opts entit
200196
if err != nil {
201197
return nil, err
202198
}
203-
204-
ir.Libpod.NewArtifactEvent(events.Push, name, artifactDigest.String(), nil)
205199
return &entities.ArtifactPushReport{
206200
ArtifactDigest: &artifactDigest,
207201
}, nil
@@ -232,9 +226,6 @@ func (ir *ImageEngine) ArtifactAdd(ctx context.Context, name string, artifactBlo
232226
if err != nil {
233227
return nil, err
234228
}
235-
ir.Libpod.NewArtifactEvent(events.Add, name, artifactDigest.String(), map[string]string{
236-
"files": fmt.Sprintf("%d", len(artifactBlobs)),
237-
})
238229
return &entities.ArtifactAddReport{
239230
ArtifactDigest: artifactDigest,
240231
}, nil
@@ -251,13 +242,7 @@ func (ir *ImageEngine) ArtifactExtract(ctx context.Context, name string, target
251242
Title: opts.Title,
252243
},
253244
}
254-
if err := artStore.Extract(ctx, name, target, &extractOpt); err != nil {
255-
return err
256-
}
257-
ir.Libpod.NewArtifactEvent(events.Extract, name, opts.Digest, map[string]string{
258-
"target": target,
259-
})
260-
return nil
245+
return artStore.Extract(ctx, name, target, &extractOpt)
261246
}
262247

263248
func (ir *ImageEngine) ArtifactExtractTarStream(ctx context.Context, w io.Writer, name string, opts entities.ArtifactExtractOptions) error {
@@ -272,12 +257,5 @@ func (ir *ImageEngine) ArtifactExtractTarStream(ctx context.Context, w io.Writer
272257
},
273258
ExcludeTitle: opts.ExcludeTitle,
274259
}
275-
276-
if err = artStore.ExtractTarStream(ctx, w, name, &extractOpt); err != nil {
277-
return err
278-
}
279-
ir.Libpod.NewArtifactEvent(events.Extract, name, opts.Digest, map[string]string{
280-
"format": "tar-stream",
281-
})
282-
return nil
260+
return artStore.ExtractTarStream(ctx, w, name, &extractOpt)
283261
}

vendor/go.podman.io/common/pkg/libartifact/store/store.go

Lines changed: 68 additions & 51 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)