Add minimal interface to CRI image store
Avoid requiring the whole image store interface for the image store cache which only needs Get. Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
parent
02a9a456e1
commit
11f311fdd5
@ -55,6 +55,11 @@ type Image struct {
|
|||||||
Pinned bool
|
Pinned bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ImageGetter is used to get images but does not make changes
|
||||||
|
type ImageGetter interface {
|
||||||
|
Get(ctx context.Context, name string) (images.Image, error)
|
||||||
|
}
|
||||||
|
|
||||||
// Store stores all images.
|
// Store stores all images.
|
||||||
type Store struct {
|
type Store struct {
|
||||||
lock sync.RWMutex
|
lock sync.RWMutex
|
||||||
@ -62,7 +67,7 @@ type Store struct {
|
|||||||
refCache map[string]string
|
refCache map[string]string
|
||||||
|
|
||||||
// images is the local image store
|
// images is the local image store
|
||||||
images images.Store
|
images ImageGetter
|
||||||
|
|
||||||
// content provider
|
// content provider
|
||||||
provider content.InfoReaderProvider
|
provider content.InfoReaderProvider
|
||||||
@ -76,7 +81,7 @@ type Store struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewStore creates an image store.
|
// NewStore creates an image store.
|
||||||
func NewStore(img images.Store, provider content.InfoReaderProvider, platform platforms.MatchComparer) *Store {
|
func NewStore(img ImageGetter, provider content.InfoReaderProvider, platform platforms.MatchComparer) *Store {
|
||||||
return &Store{
|
return &Store{
|
||||||
refCache: make(map[string]string),
|
refCache: make(map[string]string),
|
||||||
images: img,
|
images: img,
|
||||||
|
Loading…
Reference in New Issue
Block a user