@@ -20,6 +20,7 @@ import (
2020 "fmt"
2121 "path/filepath"
2222 "sync"
23+ "time"
2324
2425 kptoci "github.com/GoogleContainerTools/kpt/pkg/oci"
2526 configapi "github.com/GoogleContainerTools/kpt/porch/api/porchconfig/v1alpha1"
@@ -48,8 +49,8 @@ type Cache struct {
4849 credentialResolver repository.CredentialResolver
4950 userInfoProvider repository.UserInfoProvider
5051 metadataStore meta.MetadataStore
51-
52- objectNotifier objectNotifier
52+ repoSyncFrequency time. Duration
53+ objectNotifier objectNotifier
5354}
5455
5556type objectNotifier interface {
@@ -63,14 +64,15 @@ type CacheOptions struct {
6364 ObjectNotifier objectNotifier
6465}
6566
66- func NewCache (cacheDir string , opts CacheOptions ) * Cache {
67+ func NewCache (cacheDir string , repoSyncFrequency time. Duration , opts CacheOptions ) * Cache {
6768 return & Cache {
6869 repositories : make (map [string ]* cachedRepository ),
6970 cacheDir : cacheDir ,
7071 credentialResolver : opts .CredentialResolver ,
7172 userInfoProvider : opts .UserInfoProvider ,
7273 metadataStore : opts .MetadataStore ,
7374 objectNotifier : opts .ObjectNotifier ,
75+ repoSyncFrequency : repoSyncFrequency ,
7476 }
7577}
7678
@@ -101,7 +103,7 @@ func (c *Cache) OpenRepository(ctx context.Context, repositorySpec *configapi.Re
101103 if err != nil {
102104 return nil , err
103105 }
104- cr = newRepository (key , repositorySpec , r , c .objectNotifier , c .metadataStore )
106+ cr = newRepository (key , repositorySpec , r , c .objectNotifier , c .metadataStore , c . repoSyncFrequency )
105107 c .repositories [key ] = cr
106108 }
107109 return cr , nil
@@ -137,7 +139,7 @@ func (c *Cache) OpenRepository(ctx context.Context, repositorySpec *configapi.Re
137139 }); err != nil {
138140 return nil , err
139141 } else {
140- cr = newRepository (key , repositorySpec , r , c .objectNotifier , c .metadataStore )
142+ cr = newRepository (key , repositorySpec , r , c .objectNotifier , c .metadataStore , c . repoSyncFrequency )
141143 c .repositories [key ] = cr
142144 }
143145 } else {
0 commit comments