Add load/save image event support
For every docker load and save operations, it would log related image events. Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com> Upstream-commit: 06561057103441fe176910e12674d998b8561b75 Component: engine
This commit is contained in:
@ -122,6 +122,7 @@ func (l *tarexporter) Load(inTar io.ReadCloser, outStream io.Writer, quiet bool)
|
||||
}
|
||||
|
||||
parentLinks = append(parentLinks, parentLink{imgID, m.Parent})
|
||||
l.loggerImgEvent.LogImageEvent(imgID.String(), imgID.String(), "load")
|
||||
}
|
||||
|
||||
for _, p := range validatedParentLinks(parentLinks) {
|
||||
|
||||
@ -158,6 +158,7 @@ func (s *saveSession) save(outStream io.Writer) error {
|
||||
|
||||
parentID, _ := s.is.GetParent(id)
|
||||
parentLinks = append(parentLinks, parentLink{id, parentID})
|
||||
s.tarexporter.loggerImgEvent.LogImageEvent(id.String(), id.String(), "save")
|
||||
}
|
||||
|
||||
for i, p := range validatedParentLinks(parentLinks) {
|
||||
|
||||
@ -22,16 +22,24 @@ type manifestItem struct {
|
||||
}
|
||||
|
||||
type tarexporter struct {
|
||||
is image.Store
|
||||
ls layer.Store
|
||||
rs reference.Store
|
||||
is image.Store
|
||||
ls layer.Store
|
||||
rs reference.Store
|
||||
loggerImgEvent LogImageEvent
|
||||
}
|
||||
|
||||
// LogImageEvent defines interface for event generation related to image tar(load and save) operations
|
||||
type LogImageEvent interface {
|
||||
//LogImageEvent generates an event related to an image operation
|
||||
LogImageEvent(imageID, refName, action string)
|
||||
}
|
||||
|
||||
// NewTarExporter returns new ImageExporter for tar packages
|
||||
func NewTarExporter(is image.Store, ls layer.Store, rs reference.Store) image.Exporter {
|
||||
func NewTarExporter(is image.Store, ls layer.Store, rs reference.Store, loggerImgEvent LogImageEvent) image.Exporter {
|
||||
return &tarexporter{
|
||||
is: is,
|
||||
ls: ls,
|
||||
rs: rs,
|
||||
is: is,
|
||||
ls: ls,
|
||||
rs: rs,
|
||||
loggerImgEvent: loggerImgEvent,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user