feat(sync): additional changes for streaming

Signed-off-by: Vishwas Rajashekar <dev@vrajashkr.com>
This commit is contained in:
Vishwas Rajashekar
2026-05-16 18:44:10 +05:30
parent e2aa088e0d
commit 2fb691cd3b
14 changed files with 421 additions and 110 deletions
+2 -9
View File
@@ -43,7 +43,6 @@ const (
type Controller struct {
Config *config.Config
Router *mux.Router
StreamManager sync.StreamManager
MetaDB mTypes.MetaDB
StoreController storage.StoreController
Log log.Logger
@@ -377,12 +376,6 @@ func (c *Controller) Init() error {
}
}
if extensionsConfig.IsStreamingEnabled() {
c.Log.Info().Msg("streaming sync enabled")
sm := sync.NewChunkingStreamManager(c.Config, c.Log)
c.StreamManager = sm
}
return nil
}
@@ -606,8 +599,7 @@ func (c *Controller) StartBackgroundTasks() {
// Always call EnableSyncExtension to ensure proper logging, even when sync is disabled
//nolint: contextcheck
syncOnDemand, err := ext.EnableSyncExtension(
c.Config, c.MetaDB, c.StoreController, c.taskScheduler, c.StreamManager, c.Log)
syncOnDemand, err := ext.EnableSyncExtension(c.Config, c.MetaDB, c.StoreController, c.taskScheduler, c.Log)
if err != nil {
c.Log.Error().Err(err).Msg("failed to start sync extension")
}
@@ -663,4 +655,5 @@ type SyncOnDemand interface {
SyncImage(ctx context.Context, repo, reference string) error
SyncReferrers(ctx context.Context, repo string, subjectDigestStr string, referenceTypes []string) error
FetchManifest(ctx context.Context, repo, reference string) (manifest.Manifest, error)
StreamManager() sync.StreamManager
}