// Save will persist the image cache to the portlayer k/v store func (ic *ICache) Save() error { defer trace.End(trace.Begin("")) ic.m.Lock() defer ic.m.Unlock() m := struct { IDIndex *truncindex.TruncIndex CacheByID map[string]*metadata.ImageConfig CacheByName map[string]*metadata.ImageConfig }{ ic.iDIndex, ic.cacheByID, ic.cacheByName, } bytes, err := json.Marshal(m) if err != nil { log.Errorf("Unable to marshal image cache: %s", err.Error()) return err } err = kv.Put(ic.client, imageCacheKey, string(bytes)) if err != nil { log.Errorf("Unable to save image cache: %s", err.Error()) return err } return nil }
// Save will persist the image cache to the portlayer k/v store func (lc *LCache) Save() error { defer trace.End(trace.Begin("")) lc.m.Lock() defer lc.m.Unlock() m := struct { Layers map[string]*ImageWithMeta }{ Layers: lc.layers, } bytes, err := json.Marshal(m) if err != nil { log.Errorf("Unable to marshal layer cache: %s", err.Error()) return err } err = kv.Put(lc.client, layerCacheKey, string(bytes)) if err != nil { log.Errorf("Unable to save layer cache: %s", err.Error()) return err } return nil }
// Save will persist the repository cache to the // portlayer k/v func (store *repoCache) Save() error { defer trace.End(trace.Begin("")) b, err := json.Marshal(store) if err != nil { log.Errorf("Unable to marshal repository cache: %s", err.Error()) return err } err = kv.Put(store.client, repoKey, string(b)) if err != nil { log.Errorf("Unable to save repository cache: %s", err.Error()) return err } return nil }