diff --git a/src/.golangci.yaml b/src/.golangci.yaml index 882d12832..905917e38 100644 --- a/src/.golangci.yaml +++ b/src/.golangci.yaml @@ -25,7 +25,7 @@ linters: - ineffassign # - nakedret # - nolintlint - # - revive + - revive - whitespace - bodyclose - deadcode diff --git a/src/controller/systemartifact/execution.go b/src/controller/systemartifact/execution.go index 801910757..b41cc28fc 100644 --- a/src/controller/systemartifact/execution.go +++ b/src/controller/systemartifact/execution.go @@ -51,7 +51,7 @@ type controller struct { } func (c *controller) Start(ctx context.Context, async bool, trigger string) error { - execId, err := c.execMgr.Create(ctx, VendorTypeSystemArtifactCleanup, 0, trigger) + execID, err := c.execMgr.Create(ctx, VendorTypeSystemArtifactCleanup, 0, trigger) if err != nil { return err } @@ -61,7 +61,7 @@ func (c *controller) Start(ctx context.Context, async bool, trigger string) erro jobParams := job.Parameters{} if !async { - err := c.createCleanupTask(ctx, jobParams, execId) + err := c.createCleanupTask(ctx, jobParams, execID) if err != nil { log.Errorf("failed to create system artifact clean-up task: %v", err) return err @@ -72,14 +72,14 @@ func (c *controller) Start(ctx context.Context, async bool, trigger string) erro } go func(ctx context.Context) { err := retry.Retry(func() error { - _, err := c.execMgr.Get(ctx, execId) + _, err := c.execMgr.Get(ctx, execID) return err }) if err != nil { - log.Errorf("failed to get the execution %d for the export data cleanup job", execId) + log.Errorf("failed to get the execution %d for the export data cleanup job", execID) return } - err = c.createCleanupTask(ctx, jobParams, execId) + err = c.createCleanupTask(ctx, jobParams, execID) if err != nil { logger.Errorf("Encountered error in scan data artifact cleanup : %v", err) return @@ -89,7 +89,7 @@ func (c *controller) Start(ctx context.Context, async bool, trigger string) erro return nil } -func (c *controller) createCleanupTask(ctx context.Context, jobParams job.Parameters, execId int64) error { +func (c *controller) createCleanupTask(ctx context.Context, jobParams job.Parameters, execID int64) error { j := &task.Job{ Name: job.SystemArtifactCleanup, Metadata: &job.Metadata{ @@ -98,11 +98,11 @@ func (c *controller) createCleanupTask(ctx context.Context, jobParams job.Parame Parameters: jobParams, } - _, err := c.taskMgr.Create(ctx, execId, j) + _, err := c.taskMgr.Create(ctx, execID, j) if err != nil { logger.Errorf("Unable to create a scan data export job in clean-up mode : %v", err) - c.markError(ctx, execId, err) + c.markError(ctx, execID, err) return err } return nil @@ -132,12 +132,12 @@ func scheduleSystemArtifactCleanJob(ctx context.Context) { logger.Debugf(" Export data cleanup job already scheduled with ID : %v.", schedule.ID) return } - scheduleId, err := sched.Schedule(ctx, VendorTypeSystemArtifactCleanup, 0, cronTypeDaily, cronSpec, SystemArtifactCleanupCallback, nil, nil) + scheduleID, err := sched.Schedule(ctx, VendorTypeSystemArtifactCleanup, 0, cronTypeDaily, cronSpec, SystemArtifactCleanupCallback, nil, nil) if err != nil { log.Errorf("Encountered error when scheduling scan data export cleanup job : %v", err) return } - log.Infof("Scheduled scan data export cleanup job with ID : %v", scheduleId) + log.Infof("Scheduled scan data export cleanup job with ID : %v", scheduleID) } func getSystemArtifactCleanupSchedule(ctx context.Context) (*scheduler.Schedule, error) { diff --git a/src/core/main.go b/src/core/main.go index 8cbffb4d3..70ffafde5 100755 --- a/src/core/main.go +++ b/src/core/main.go @@ -53,6 +53,8 @@ import ( "github.com/goharbor/harbor/src/lib/retry" tracelib "github.com/goharbor/harbor/src/lib/trace" "github.com/goharbor/harbor/src/migration" + _ "github.com/goharbor/harbor/src/pkg/accessory/model/base" + _ "github.com/goharbor/harbor/src/pkg/accessory/model/cosign" "github.com/goharbor/harbor/src/pkg/audit" dbCfg "github.com/goharbor/harbor/src/pkg/config/db" _ "github.com/goharbor/harbor/src/pkg/config/inmemory" diff --git a/src/core/session/session.go b/src/core/session/session.go index 825259acb..40c73d3b8 100644 --- a/src/core/session/session.go +++ b/src/core/session/session.go @@ -35,8 +35,8 @@ const ( var harborpder = &Provider{} -// SessionStore redis session store -type SessionStore struct { +// Store redis session store +type Store struct { c cache.Cache sid string lock sync.RWMutex @@ -45,7 +45,7 @@ type SessionStore struct { } // Set value in redis session -func (rs *SessionStore) Set(key, value interface{}) error { +func (rs *Store) Set(key, value interface{}) error { rs.lock.Lock() defer rs.lock.Unlock() rs.values[key] = value @@ -53,7 +53,7 @@ func (rs *SessionStore) Set(key, value interface{}) error { } // Get value in redis session -func (rs *SessionStore) Get(key interface{}) interface{} { +func (rs *Store) Get(key interface{}) interface{} { rs.lock.RLock() defer rs.lock.RUnlock() if v, ok := rs.values[key]; ok { @@ -63,7 +63,7 @@ func (rs *SessionStore) Get(key interface{}) interface{} { } // Delete value in redis session -func (rs *SessionStore) Delete(key interface{}) error { +func (rs *Store) Delete(key interface{}) error { rs.lock.Lock() defer rs.lock.Unlock() delete(rs.values, key) @@ -71,7 +71,7 @@ func (rs *SessionStore) Delete(key interface{}) error { } // Flush clear all values in redis session -func (rs *SessionStore) Flush() error { +func (rs *Store) Flush() error { rs.lock.Lock() defer rs.lock.Unlock() rs.values = make(map[interface{}]interface{}) @@ -79,12 +79,12 @@ func (rs *SessionStore) Flush() error { } // SessionID get redis session id -func (rs *SessionStore) SessionID() string { +func (rs *Store) SessionID() string { return rs.sid } // SessionRelease save session values to redis -func (rs *SessionStore) SessionRelease(w http.ResponseWriter) { +func (rs *Store) SessionRelease(w http.ResponseWriter) { b, err := session.EncodeGob(rs.values) if err != nil { return @@ -123,7 +123,7 @@ func (rp *Provider) SessionRead(sid string) (session.Store, error) { return nil, err } - rs := &SessionStore{c: rp.c, sid: sid, values: kv, maxlifetime: rp.maxlifetime} + rs := &Store{c: rp.c, sid: sid, values: kv, maxlifetime: rp.maxlifetime} return rs, nil } diff --git a/src/jobservice/job/impl/gc/garbage_collection.go b/src/jobservice/job/impl/gc/garbage_collection.go index 2db55d5ce..b5eaa2056 100644 --- a/src/jobservice/job/impl/gc/garbage_collection.go +++ b/src/jobservice/job/impl/gc/garbage_collection.go @@ -37,7 +37,7 @@ import ( var ( regCtlInit = registryctl.Init - stopErr = errors.New("stopped") + errGcStop = errors.New("stopped") ) const ( @@ -154,7 +154,7 @@ func (gc *GarbageCollector) Run(ctx job.Context, params job.Parameters) error { // mark if err := gc.mark(ctx); err != nil { - if err == stopErr { + if err == errGcStop { gc.logger.Info("received the stop signal, quit GC job.") return nil } @@ -165,7 +165,7 @@ func (gc *GarbageCollector) Run(ctx job.Context, params job.Parameters) error { // sweep if !gc.dryRun { if err := gc.sweep(ctx); err != nil { - if err == stopErr { + if err == errGcStop { // we may already delete several artifacts before receiving the stop signal, so try to clean up the cache gc.logger.Info("received the stop signal, quit GC job after cleaning up the cache.") return gc.cleanCache() @@ -222,7 +222,7 @@ func (gc *GarbageCollector) mark(ctx job.Context) error { for _, blob := range blobs { if !gc.dryRun { if gc.shouldStop(ctx) { - return stopErr + return errGcStop } blob.Status = blobModels.StatusDelete count, err := gc.blobMgr.UpdateBlobStatus(ctx.SystemContext(), blob) @@ -260,7 +260,7 @@ func (gc *GarbageCollector) sweep(ctx job.Context) error { total := len(gc.deleteSet) for i, blob := range gc.deleteSet { if gc.shouldStop(ctx) { - return stopErr + return errGcStop } idx := i + 1 // set the status firstly, if the blob is updated by any HEAD/PUT request, it should be fail and skip. @@ -469,7 +469,7 @@ func (gc *GarbageCollector) deletedArt(ctx job.Context) (map[string][]model.Arti allTrashedArts = append(allTrashedArts, simulateDeletion) } else { if gc.shouldStop(ctx) { - return nil, stopErr + return nil, errGcStop } if err := gc.artCtl.Delete(ctx.SystemContext(), untagged.ID); err != nil { // the failure ones can be GCed by the next execution @@ -519,7 +519,7 @@ func (gc *GarbageCollector) markOrSweepUntaggedBlobs(ctx job.Context) ([]*blobMo var orphanBlobs []*blobModels.Blob for result := range project.ListAll(ctx.SystemContext(), 50, nil, project.Metadata(false)) { if gc.shouldStop(ctx) { - return nil, stopErr + return nil, errGcStop } if result.Error != nil { gc.logger.Errorf("remove untagged blobs for all projects got error: %v", result.Error) @@ -536,7 +536,7 @@ func (gc *GarbageCollector) markOrSweepUntaggedBlobs(ctx job.Context) ([]*blobMo for { if gc.shouldStop(ctx) { gc.logger.Info("received the stop signal, quit GC job.") - return nil, stopErr + return nil, errGcStop } blobRG := q.Range{ Min: lastBlobID, diff --git a/src/jobservice/job/impl/gc/garbage_collection_test.go b/src/jobservice/job/impl/gc/garbage_collection_test.go index 64d6c8f8e..c5751abe5 100644 --- a/src/jobservice/job/impl/gc/garbage_collection_test.go +++ b/src/jobservice/job/impl/gc/garbage_collection_test.go @@ -207,7 +207,7 @@ func (suite *gcTestSuite) TestStop() { deleteUntagged: true, } - suite.Equal(stopErr, gc.mark(ctx)) + suite.Equal(errGcStop, gc.mark(ctx)) } func (suite *gcTestSuite) TestRun() { diff --git a/src/lib/config/systemconfig.go b/src/lib/config/systemconfig.go index df69eff67..b8d8eb720 100644 --- a/src/lib/config/systemconfig.go +++ b/src/lib/config/systemconfig.go @@ -47,7 +47,7 @@ var ( SecretStore *secret.Store keyProvider encrypt.KeyProvider // Use backgroundCtx to access system scope config - backgroundCtx context.Context = context.Background() + backgroundCtx = context.Background() ) // It contains all system settings diff --git a/src/pkg/accessory/manager.go b/src/pkg/accessory/manager.go index e0404ac09..a9952bf17 100644 --- a/src/pkg/accessory/manager.go +++ b/src/pkg/accessory/manager.go @@ -21,9 +21,6 @@ import ( "github.com/goharbor/harbor/src/lib/q" "github.com/goharbor/harbor/src/pkg/accessory/dao" "github.com/goharbor/harbor/src/pkg/accessory/model" - - _ "github.com/goharbor/harbor/src/pkg/accessory/model/base" - _ "github.com/goharbor/harbor/src/pkg/accessory/model/cosign" ) var ( diff --git a/src/pkg/accessory/manager_test.go b/src/pkg/accessory/manager_test.go index d3f9c03bf..1151d0c0d 100644 --- a/src/pkg/accessory/manager_test.go +++ b/src/pkg/accessory/manager_test.go @@ -18,6 +18,8 @@ import ( "github.com/goharbor/harbor/src/lib/q" "github.com/goharbor/harbor/src/pkg/accessory/dao" "github.com/goharbor/harbor/src/pkg/accessory/model" + _ "github.com/goharbor/harbor/src/pkg/accessory/model/base" + _ "github.com/goharbor/harbor/src/pkg/accessory/model/cosign" "github.com/goharbor/harbor/src/testing/mock" testingdao "github.com/goharbor/harbor/src/testing/pkg/accessory/dao" "github.com/stretchr/testify/suite" diff --git a/src/pkg/cached/artifact/redis/manager.go b/src/pkg/cached/artifact/redis/manager.go index bea514a63..909a990fa 100644 --- a/src/pkg/cached/artifact/redis/manager.go +++ b/src/pkg/cached/artifact/redis/manager.go @@ -28,18 +28,18 @@ import ( "github.com/goharbor/harbor/src/pkg/cached" ) -var _ CachedManager = &manager{} +var _ CachedManager = &Manager{} -// CachedManager is the interface combines raw resource manager and cached manager for better extension. +// CachedManager is the interface combines raw resource Manager and cached Manager for better extension. type CachedManager interface { - // Manager is the raw resource manager. + // Manager is the raw resource Manager. artifact.Manager // Manager is the common interface for resource cache. cached.Manager } -// manager is the cached manager implemented by redis. -type manager struct { +// Manager is the cached Manager implemented by redis. +type Manager struct { // delegator delegates the raw crud to DAO. delegator artifact.Manager // client returns the redis cache client. @@ -50,9 +50,9 @@ type manager struct { lifetime time.Duration } -// NewManager returns the redis cache manager. -func NewManager(m artifact.Manager) *manager { - return &manager{ +// NewManager returns the redis cache Manager. +func NewManager(m artifact.Manager) *Manager { + return &Manager{ delegator: m, client: func() libcache.Cache { return libcache.Default() }, keyBuilder: cached.NewObjectKey(cached.ResourceTypeArtifact), @@ -60,27 +60,27 @@ func NewManager(m artifact.Manager) *manager { } } -func (m *manager) Count(ctx context.Context, query *q.Query) (int64, error) { +func (m *Manager) Count(ctx context.Context, query *q.Query) (int64, error) { return m.delegator.Count(ctx, query) } -func (m *manager) List(ctx context.Context, query *q.Query) ([]*artifact.Artifact, error) { +func (m *Manager) List(ctx context.Context, query *q.Query) ([]*artifact.Artifact, error) { return m.delegator.List(ctx, query) } -func (m *manager) Create(ctx context.Context, artifact *artifact.Artifact) (int64, error) { +func (m *Manager) Create(ctx context.Context, artifact *artifact.Artifact) (int64, error) { return m.delegator.Create(ctx, artifact) } -func (m *manager) ListReferences(ctx context.Context, query *q.Query) ([]*artifact.Reference, error) { +func (m *Manager) ListReferences(ctx context.Context, query *q.Query) ([]*artifact.Reference, error) { return m.delegator.ListReferences(ctx, query) } -func (m *manager) DeleteReference(ctx context.Context, id int64) error { +func (m *Manager) DeleteReference(ctx context.Context, id int64) error { return m.delegator.DeleteReference(ctx, id) } -func (m *manager) Get(ctx context.Context, id int64) (*artifact.Artifact, error) { +func (m *Manager) Get(ctx context.Context, id int64) (*artifact.Artifact, error) { key, err := m.keyBuilder.Format("id", id) if err != nil { return nil, err @@ -106,7 +106,7 @@ func (m *manager) Get(ctx context.Context, id int64) (*artifact.Artifact, error) return art, nil } -func (m *manager) GetByDigest(ctx context.Context, repository, digest string) (*artifact.Artifact, error) { +func (m *Manager) GetByDigest(ctx context.Context, repository, digest string) (*artifact.Artifact, error) { key, err := m.keyBuilder.Format("digest", digest) if err != nil { return nil, err @@ -130,7 +130,7 @@ func (m *manager) GetByDigest(ctx context.Context, repository, digest string) (* return art, nil } -func (m *manager) Delete(ctx context.Context, id int64) error { +func (m *Manager) Delete(ctx context.Context, id int64) error { art, err := m.Get(ctx, id) if err != nil { return err @@ -144,7 +144,7 @@ func (m *manager) Delete(ctx context.Context, id int64) error { return nil } -func (m *manager) Update(ctx context.Context, artifact *artifact.Artifact, props ...string) error { +func (m *Manager) Update(ctx context.Context, artifact *artifact.Artifact, props ...string) error { // pass on update operation if err := m.delegator.Update(ctx, artifact, props...); err != nil { return err @@ -154,7 +154,7 @@ func (m *manager) Update(ctx context.Context, artifact *artifact.Artifact, props return nil } -func (m *manager) UpdatePullTime(ctx context.Context, id int64, pullTime time.Time) error { +func (m *Manager) UpdatePullTime(ctx context.Context, id int64, pullTime time.Time) error { art, err := m.Get(ctx, id) if err != nil { return err @@ -169,7 +169,7 @@ func (m *manager) UpdatePullTime(ctx context.Context, id int64, pullTime time.Ti } // cleanUp cleans up data in cache. -func (m *manager) cleanUp(ctx context.Context, art *artifact.Artifact) { +func (m *Manager) cleanUp(ctx context.Context, art *artifact.Artifact) { // clean index by id idIdx, err := m.keyBuilder.Format("id", art.ID) if err != nil { @@ -193,7 +193,7 @@ func (m *manager) cleanUp(ctx context.Context, art *artifact.Artifact) { } // refreshCache refreshes cache. -func (m *manager) refreshCache(ctx context.Context, art *artifact.Artifact) { +func (m *Manager) refreshCache(ctx context.Context, art *artifact.Artifact) { // refreshCache used for UpdatePullTime, because we have a background goroutine to // update per artifact pull_time in period time, in that case, we don't want to lose // cache every fixed interval, so prefer to use refreshCache instead of cleanUp. @@ -217,11 +217,11 @@ func (m *manager) refreshCache(ctx context.Context, art *artifact.Artifact) { } } -func (m *manager) ResourceType(ctx context.Context) string { +func (m *Manager) ResourceType(ctx context.Context) string { return cached.ResourceTypeArtifact } -func (m *manager) CountCache(ctx context.Context) (int64, error) { +func (m *Manager) CountCache(ctx context.Context) (int64, error) { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { @@ -231,11 +231,11 @@ func (m *manager) CountCache(ctx context.Context) (int64, error) { return int64(len(keys)), nil } -func (m *manager) DeleteCache(ctx context.Context, key string) error { +func (m *Manager) DeleteCache(ctx context.Context, key string) error { return m.client().Delete(ctx, key) } -func (m *manager) FlushAll(ctx context.Context) error { +func (m *Manager) FlushAll(ctx context.Context) error { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { diff --git a/src/pkg/cached/artifact/redis/manager_test.go b/src/pkg/cached/artifact/redis/manager_test.go index 90e075c04..20f283e9a 100644 --- a/src/pkg/cached/artifact/redis/manager_test.go +++ b/src/pkg/cached/artifact/redis/manager_test.go @@ -42,7 +42,7 @@ func (m *managerTestSuite) SetupTest() { m.cachedManager = NewManager( m.artMgr, ) - m.cachedManager.(*manager).client = func() cache.Cache { return m.cache } + m.cachedManager.(*Manager).client = func() cache.Cache { return m.cache } m.ctx = context.TODO() } diff --git a/src/pkg/cached/manifest/redis/manager.go b/src/pkg/cached/manifest/redis/manager.go index 760bc92c9..a4554b2f8 100644 --- a/src/pkg/cached/manifest/redis/manager.go +++ b/src/pkg/cached/manifest/redis/manager.go @@ -25,9 +25,9 @@ import ( "github.com/goharbor/harbor/src/pkg/cached" ) -var _ CachedManager = &manager{} +var _ CachedManager = &Manager{} -// ManifestManager is the manager for manifest. +// ManifestManager is the Manager for manifest. type ManifestManager interface { // Save manifest to cache. Save(ctx context.Context, digest string, manifest []byte) error @@ -37,16 +37,16 @@ type ManifestManager interface { Delete(ctx context.Context, digest string) error } -// CachedManager is the interface combines raw resource manager and cached manager for better extension. +// CachedManager is the interface combines raw resource Manager and cached Manager for better extension. type CachedManager interface { - // ManifestManager is the manager for manifest. + // ManifestManager is the Manager for manifest. ManifestManager // Manager is the common interface for resource cache. cached.Manager } -// manager is the cached manager implemented by redis. -type manager struct { +// Manager is the cached Manager implemented by redis. +type Manager struct { // client returns the redis cache client. client func() libcache.Cache // keyBuilder builds cache object key. @@ -55,16 +55,16 @@ type manager struct { lifetime time.Duration } -// NewManager returns the redis cache manager. -func NewManager() *manager { - return &manager{ +// NewManager returns the redis cache Manager. +func NewManager() *Manager { + return &Manager{ client: func() libcache.Cache { return libcache.Default() }, keyBuilder: cached.NewObjectKey(cached.ResourceTypeManifest), lifetime: time.Duration(config.CacheExpireHours()) * time.Hour, } } -func (m *manager) Save(ctx context.Context, digest string, manifest []byte) error { +func (m *Manager) Save(ctx context.Context, digest string, manifest []byte) error { key, err := m.keyBuilder.Format("digest", digest) if err != nil { return err @@ -73,7 +73,7 @@ func (m *manager) Save(ctx context.Context, digest string, manifest []byte) erro return m.client().Save(ctx, key, manifest, m.lifetime) } -func (m *manager) Get(ctx context.Context, digest string) ([]byte, error) { +func (m *Manager) Get(ctx context.Context, digest string) ([]byte, error) { key, err := m.keyBuilder.Format("digest", digest) if err != nil { return nil, err @@ -87,7 +87,7 @@ func (m *manager) Get(ctx context.Context, digest string) ([]byte, error) { return nil, err } -func (m *manager) Delete(ctx context.Context, digest string) error { +func (m *Manager) Delete(ctx context.Context, digest string) error { key, err := m.keyBuilder.Format("digest", digest) if err != nil { return err @@ -96,11 +96,11 @@ func (m *manager) Delete(ctx context.Context, digest string) error { return retry.Retry(func() error { return m.client().Delete(ctx, key) }) } -func (m *manager) ResourceType(ctx context.Context) string { +func (m *Manager) ResourceType(ctx context.Context) string { return cached.ResourceTypeManifest } -func (m *manager) CountCache(ctx context.Context) (int64, error) { +func (m *Manager) CountCache(ctx context.Context) (int64, error) { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { @@ -110,11 +110,11 @@ func (m *manager) CountCache(ctx context.Context) (int64, error) { return int64(len(keys)), nil } -func (m *manager) DeleteCache(ctx context.Context, key string) error { +func (m *Manager) DeleteCache(ctx context.Context, key string) error { return m.client().Delete(ctx, key) } -func (m *manager) FlushAll(ctx context.Context) error { +func (m *Manager) FlushAll(ctx context.Context) error { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { diff --git a/src/pkg/cached/manifest/redis/manager_test.go b/src/pkg/cached/manifest/redis/manager_test.go index 988a68870..b76cd63f6 100644 --- a/src/pkg/cached/manifest/redis/manager_test.go +++ b/src/pkg/cached/manifest/redis/manager_test.go @@ -38,7 +38,7 @@ type managerTestSuite struct { func (m *managerTestSuite) SetupTest() { m.cache = &testcache.Cache{} m.cachedManager = NewManager() - m.cachedManager.(*manager).client = func() cache.Cache { return m.cache } + m.cachedManager.(*Manager).client = func() cache.Cache { return m.cache } m.ctx = context.TODO() m.digest = "sha256:52f431d980baa76878329b68ddb69cb124c25efa6e206d8b0bd797a828f0528e" diff --git a/src/pkg/cached/project/redis/manager.go b/src/pkg/cached/project/redis/manager.go index 496330a8b..9efc8308d 100644 --- a/src/pkg/cached/project/redis/manager.go +++ b/src/pkg/cached/project/redis/manager.go @@ -30,18 +30,18 @@ import ( "github.com/goharbor/harbor/src/pkg/project/models" ) -var _ CachedManager = &manager{} +var _ CachedManager = &Manager{} -// CachedManager is the interface combines raw resource manager and cached manager for better extension. +// CachedManager is the interface combines raw resource Manager and cached Manager for better extension. type CachedManager interface { - // Manager is the raw resource manager. + // Manager is the raw resource Manager. project.Manager // Manager is the common interface for resource cache. cached.Manager } -// manager is the cached manager implemented by redis. -type manager struct { +// Manager is the cached Manager implemented by redis. +type Manager struct { // delegator delegates the raw crud to DAO. delegator project.Manager // client returns the redis cache client. @@ -52,9 +52,9 @@ type manager struct { lifetime time.Duration } -// NewManager returns the redis cache manager. -func NewManager(m project.Manager) *manager { - return &manager{ +// NewManager returns the redis cache Manager. +func NewManager(m project.Manager) *Manager { + return &Manager{ delegator: m, client: func() libcache.Cache { return libcache.Default() }, keyBuilder: cached.NewObjectKey(cached.ResourceTypeProject), @@ -62,23 +62,23 @@ func NewManager(m project.Manager) *manager { } } -func (m *manager) Create(ctx context.Context, project *models.Project) (int64, error) { +func (m *Manager) Create(ctx context.Context, project *models.Project) (int64, error) { return m.delegator.Create(ctx, project) } -func (m *manager) Count(ctx context.Context, query *q.Query) (total int64, err error) { +func (m *Manager) Count(ctx context.Context, query *q.Query) (total int64, err error) { return m.delegator.Count(ctx, query) } -func (m *manager) List(ctx context.Context, query *q.Query) ([]*models.Project, error) { +func (m *Manager) List(ctx context.Context, query *q.Query) ([]*models.Project, error) { return m.delegator.List(ctx, query) } -func (m *manager) ListRoles(ctx context.Context, projectID int64, userID int, groupIDs ...int) ([]int, error) { +func (m *Manager) ListRoles(ctx context.Context, projectID int64, userID int, groupIDs ...int) ([]int, error) { return m.delegator.ListRoles(ctx, projectID, userID, groupIDs...) } -func (m *manager) Delete(ctx context.Context, id int64) error { +func (m *Manager) Delete(ctx context.Context, id int64) error { p, err := m.Get(ctx, id) if err != nil { return err @@ -93,7 +93,7 @@ func (m *manager) Delete(ctx context.Context, id int64) error { return nil } -func (m *manager) Get(ctx context.Context, idOrName interface{}) (*models.Project, error) { +func (m *Manager) Get(ctx context.Context, idOrName interface{}) (*models.Project, error) { var ( key string err error @@ -139,7 +139,7 @@ func (m *manager) Get(ctx context.Context, idOrName interface{}) (*models.Projec } // cleanUp cleans up data in cache. -func (m *manager) cleanUp(ctx context.Context, p *models.Project) { +func (m *Manager) cleanUp(ctx context.Context, p *models.Project) { // clean index by id idIdx, err := m.keyBuilder.Format("id", p.ProjectID) if err != nil { @@ -162,11 +162,11 @@ func (m *manager) cleanUp(ctx context.Context, p *models.Project) { } } -func (m *manager) ResourceType(ctx context.Context) string { +func (m *Manager) ResourceType(ctx context.Context) string { return cached.ResourceTypeProject } -func (m *manager) CountCache(ctx context.Context) (int64, error) { +func (m *Manager) CountCache(ctx context.Context) (int64, error) { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { @@ -176,11 +176,11 @@ func (m *manager) CountCache(ctx context.Context) (int64, error) { return int64(len(keys)), nil } -func (m *manager) DeleteCache(ctx context.Context, key string) error { +func (m *Manager) DeleteCache(ctx context.Context, key string) error { return m.client().Delete(ctx, key) } -func (m *manager) FlushAll(ctx context.Context) error { +func (m *Manager) FlushAll(ctx context.Context) error { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { diff --git a/src/pkg/cached/project/redis/manager_test.go b/src/pkg/cached/project/redis/manager_test.go index 791f1840d..c546bc52e 100644 --- a/src/pkg/cached/project/redis/manager_test.go +++ b/src/pkg/cached/project/redis/manager_test.go @@ -43,7 +43,7 @@ func (m *managerTestSuite) SetupTest() { m.cachedManager = NewManager( m.projectMgr, ) - m.cachedManager.(*manager).client = func() cache.Cache { return m.cache } + m.cachedManager.(*Manager).client = func() cache.Cache { return m.cache } m.ctx = context.TODO() } diff --git a/src/pkg/cached/project_metadata/redis/manager.go b/src/pkg/cached/project_metadata/redis/manager.go index 9ea05349c..8b95365c1 100644 --- a/src/pkg/cached/project_metadata/redis/manager.go +++ b/src/pkg/cached/project_metadata/redis/manager.go @@ -29,18 +29,18 @@ import ( "github.com/goharbor/harbor/src/pkg/project/metadata/models" ) -var _ CachedManager = &manager{} +var _ CachedManager = &Manager{} -// CachedManager is the interface combines raw resource manager and cached manager for better extension. +// CachedManager is the interface combines raw resource Manager and cached Manager for better extension. type CachedManager interface { - // Manager is the raw resource manager. + // Manager is the raw resource Manager. metadata.Manager // Manager is the common interface for resource cache. cached.Manager } -// manager is the cached manager implemented by redis. -type manager struct { +// Manager is the cached Manager implemented by redis. +type Manager struct { // delegator delegates the raw crud to DAO. delegator metadata.Manager // client returns the redis cache client. @@ -51,9 +51,9 @@ type manager struct { lifetime time.Duration } -// NewManager returns the redis cache manager. -func NewManager(m metadata.Manager) *manager { - return &manager{ +// NewManager returns the redis cache Manager. +func NewManager(m metadata.Manager) *Manager { + return &Manager{ delegator: m, client: func() libcache.Cache { return libcache.Default() }, keyBuilder: cached.NewObjectKey(cached.ResourceTypeProjectMeta), @@ -61,15 +61,15 @@ func NewManager(m metadata.Manager) *manager { } } -func (m *manager) Add(ctx context.Context, projectID int64, meta map[string]string) error { +func (m *Manager) Add(ctx context.Context, projectID int64, meta map[string]string) error { return m.delegator.Add(ctx, projectID, meta) } -func (m *manager) List(ctx context.Context, name string, value string) ([]*models.ProjectMetadata, error) { +func (m *Manager) List(ctx context.Context, name string, value string) ([]*models.ProjectMetadata, error) { return m.delegator.List(ctx, name, value) } -func (m *manager) Get(ctx context.Context, projectID int64, meta ...string) (map[string]string, error) { +func (m *Manager) Get(ctx context.Context, projectID int64, meta ...string) (map[string]string, error) { key, err := m.keyBuilder.Format("projectID", projectID, "meta", strings.Join(meta, ",")) if err != nil { return nil, err @@ -95,7 +95,7 @@ func (m *manager) Get(ctx context.Context, projectID int64, meta ...string) (map return result, nil } -func (m *manager) Delete(ctx context.Context, projectID int64, meta ...string) error { +func (m *Manager) Delete(ctx context.Context, projectID int64, meta ...string) error { // pass on delete operation if err := m.delegator.Delete(ctx, projectID, meta...); err != nil { return err @@ -105,7 +105,7 @@ func (m *manager) Delete(ctx context.Context, projectID int64, meta ...string) e return nil } -func (m *manager) Update(ctx context.Context, projectID int64, meta map[string]string) error { +func (m *Manager) Update(ctx context.Context, projectID int64, meta map[string]string) error { if err := m.delegator.Update(ctx, projectID, meta); err != nil { return err } @@ -130,7 +130,7 @@ func (m *manager) Update(ctx context.Context, projectID int64, meta map[string]s } // cleanUp cleans up data in cache. -func (m *manager) cleanUp(ctx context.Context, projectID int64, meta ...string) { +func (m *Manager) cleanUp(ctx context.Context, projectID int64, meta ...string) { key, err := m.keyBuilder.Format("projectID", projectID, "meta", strings.Join(meta, ",")) if err != nil { log.Errorf("format project metadata key error: %v", err) @@ -142,11 +142,11 @@ func (m *manager) cleanUp(ctx context.Context, projectID int64, meta ...string) } } -func (m *manager) ResourceType(ctx context.Context) string { +func (m *Manager) ResourceType(ctx context.Context) string { return cached.ResourceTypeProjectMeta } -func (m *manager) CountCache(ctx context.Context) (int64, error) { +func (m *Manager) CountCache(ctx context.Context) (int64, error) { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { @@ -156,11 +156,11 @@ func (m *manager) CountCache(ctx context.Context) (int64, error) { return int64(len(keys)), nil } -func (m *manager) DeleteCache(ctx context.Context, key string) error { +func (m *Manager) DeleteCache(ctx context.Context, key string) error { return m.client().Delete(ctx, key) } -func (m *manager) FlushAll(ctx context.Context) error { +func (m *Manager) FlushAll(ctx context.Context) error { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { diff --git a/src/pkg/cached/project_metadata/redis/manager_test.go b/src/pkg/cached/project_metadata/redis/manager_test.go index 03f8b3811..44ee7ca2d 100644 --- a/src/pkg/cached/project_metadata/redis/manager_test.go +++ b/src/pkg/cached/project_metadata/redis/manager_test.go @@ -42,7 +42,7 @@ func (m *managerTestSuite) SetupTest() { m.cachedManager = NewManager( m.projectMetaMgr, ) - m.cachedManager.(*manager).client = func() cache.Cache { return m.cache } + m.cachedManager.(*Manager).client = func() cache.Cache { return m.cache } m.ctx = context.TODO() } diff --git a/src/pkg/cached/repository/redis/manager.go b/src/pkg/cached/repository/redis/manager.go index 625b1925f..50b502188 100644 --- a/src/pkg/cached/repository/redis/manager.go +++ b/src/pkg/cached/repository/redis/manager.go @@ -29,18 +29,18 @@ import ( "github.com/goharbor/harbor/src/pkg/repository/model" ) -var _ CachedManager = &manager{} +var _ CachedManager = &Manager{} -// CachedManager is the interface combines raw resource manager and cached manager for better extension. +// CachedManager is the interface combines raw resource Manager and cached Manager for better extension. type CachedManager interface { - // Manager is the raw resource manager. + // Manager is the raw resource Manager. repository.Manager // Manager is the common interface for resource cache. cached.Manager } -// manager is the cached manager implemented by redis. -type manager struct { +// Manager is the cached Manager implemented by redis. +type Manager struct { // delegator delegates the raw crud to DAO. delegator repository.Manager // client returns the redis cache client. @@ -51,9 +51,9 @@ type manager struct { lifetime time.Duration } -// NewManager returns the redis cache manager. -func NewManager(m repository.Manager) *manager { - return &manager{ +// NewManager returns the redis cache Manager. +func NewManager(m repository.Manager) *Manager { + return &Manager{ delegator: m, client: func() libcache.Cache { return libcache.Default() }, keyBuilder: cached.NewObjectKey(cached.ResourceTypeRepository), @@ -61,23 +61,23 @@ func NewManager(m repository.Manager) *manager { } } -func (m *manager) Count(ctx context.Context, query *q.Query) (int64, error) { +func (m *Manager) Count(ctx context.Context, query *q.Query) (int64, error) { return m.delegator.Count(ctx, query) } -func (m *manager) List(ctx context.Context, query *q.Query) ([]*model.RepoRecord, error) { +func (m *Manager) List(ctx context.Context, query *q.Query) ([]*model.RepoRecord, error) { return m.delegator.List(ctx, query) } -func (m *manager) Create(ctx context.Context, repo *model.RepoRecord) (int64, error) { +func (m *Manager) Create(ctx context.Context, repo *model.RepoRecord) (int64, error) { return m.delegator.Create(ctx, repo) } -func (m *manager) NonEmptyRepos(ctx context.Context) ([]*model.RepoRecord, error) { +func (m *Manager) NonEmptyRepos(ctx context.Context) ([]*model.RepoRecord, error) { return m.delegator.NonEmptyRepos(ctx) } -func (m *manager) Get(ctx context.Context, id int64) (*model.RepoRecord, error) { +func (m *Manager) Get(ctx context.Context, id int64) (*model.RepoRecord, error) { key, err := m.keyBuilder.Format("id", id) if err != nil { return nil, err @@ -103,7 +103,7 @@ func (m *manager) Get(ctx context.Context, id int64) (*model.RepoRecord, error) return repo, nil } -func (m *manager) GetByName(ctx context.Context, name string) (*model.RepoRecord, error) { +func (m *Manager) GetByName(ctx context.Context, name string) (*model.RepoRecord, error) { key, err := m.keyBuilder.Format("name", name) if err != nil { return nil, err @@ -127,7 +127,7 @@ func (m *manager) GetByName(ctx context.Context, name string) (*model.RepoRecord return repo, nil } -func (m *manager) Delete(ctx context.Context, id int64) error { +func (m *Manager) Delete(ctx context.Context, id int64) error { repo, err := m.Get(ctx, id) if err != nil { return err @@ -141,7 +141,7 @@ func (m *manager) Delete(ctx context.Context, id int64) error { return nil } -func (m *manager) Update(ctx context.Context, repo *model.RepoRecord, props ...string) error { +func (m *Manager) Update(ctx context.Context, repo *model.RepoRecord, props ...string) error { // pass on update operation if err := m.delegator.Update(ctx, repo, props...); err != nil { return err @@ -151,7 +151,7 @@ func (m *manager) Update(ctx context.Context, repo *model.RepoRecord, props ...s return nil } -func (m *manager) AddPullCount(ctx context.Context, id int64, count uint64) error { +func (m *Manager) AddPullCount(ctx context.Context, id int64, count uint64) error { repo, err := m.Get(ctx, id) if err != nil { return err @@ -166,7 +166,7 @@ func (m *manager) AddPullCount(ctx context.Context, id int64, count uint64) erro } // cleanUp cleans up data in cache. -func (m *manager) cleanUp(ctx context.Context, repo *model.RepoRecord) { +func (m *Manager) cleanUp(ctx context.Context, repo *model.RepoRecord) { // clean index by id idIdx, err := m.keyBuilder.Format("id", repo.RepositoryID) if err != nil { @@ -190,7 +190,7 @@ func (m *manager) cleanUp(ctx context.Context, repo *model.RepoRecord) { } // refreshCache refreshes cache. -func (m *manager) refreshCache(ctx context.Context, repo *model.RepoRecord) { +func (m *Manager) refreshCache(ctx context.Context, repo *model.RepoRecord) { // refreshCache used for AddPullCount, because we have a background goroutine to // update per repo's pull_count in period time, in that case, we don't want to lose // cache every fixed interval, so prefer to use refreshCache instead of cleanUp. @@ -214,11 +214,11 @@ func (m *manager) refreshCache(ctx context.Context, repo *model.RepoRecord) { } } -func (m *manager) ResourceType(ctx context.Context) string { +func (m *Manager) ResourceType(ctx context.Context) string { return cached.ResourceTypeRepository } -func (m *manager) CountCache(ctx context.Context) (int64, error) { +func (m *Manager) CountCache(ctx context.Context) (int64, error) { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { @@ -228,11 +228,11 @@ func (m *manager) CountCache(ctx context.Context) (int64, error) { return int64(len(keys)), nil } -func (m *manager) DeleteCache(ctx context.Context, key string) error { +func (m *Manager) DeleteCache(ctx context.Context, key string) error { return m.client().Delete(ctx, key) } -func (m *manager) FlushAll(ctx context.Context) error { +func (m *Manager) FlushAll(ctx context.Context) error { // prefix is resource type keys, err := m.client().Keys(ctx, m.ResourceType(ctx)) if err != nil { diff --git a/src/pkg/cached/repository/redis/manager_test.go b/src/pkg/cached/repository/redis/manager_test.go index ac38860c2..f458588fd 100644 --- a/src/pkg/cached/repository/redis/manager_test.go +++ b/src/pkg/cached/repository/redis/manager_test.go @@ -41,7 +41,7 @@ func (m *managerTestSuite) SetupTest() { m.cachedManager = NewManager( m.repoMgr, ) - m.cachedManager.(*manager).client = func() cache.Cache { return m.cache } + m.cachedManager.(*Manager).client = func() cache.Cache { return m.cache } m.ctx = context.TODO() } diff --git a/src/pkg/config/manager.go b/src/pkg/config/manager.go index ab01d6e09..b5d6fa313 100644 --- a/src/pkg/config/manager.go +++ b/src/pkg/config/manager.go @@ -180,10 +180,10 @@ func (c *CfgManager) ValidateCfg(ctx context.Context, cfgs map[string]interface{ for key, value := range cfgs { item, exist := metadata.Instance().GetByName(key) if !exist { - return errors.New(fmt.Sprintf("invalid config, item not defined in metadatalist, %v", key)) + return fmt.Errorf("invalid config, item not defined in metadatalist, %v", key) } if item.Scope == metadata.SystemScope { - return errors.New(fmt.Sprintf("system config items cannot be updated, item: %v", key)) + return fmt.Errorf("system config items cannot be updated, item: %v", key) } strVal := utils.GetStrValueOfAnyType(value) _, err := metadata.NewCfgValue(key, strVal) diff --git a/src/pkg/reg/adapter/harbor/base/client.go b/src/pkg/reg/adapter/harbor/base/client.go index 745592773..c6e382105 100644 --- a/src/pkg/reg/adapter/harbor/base/client.go +++ b/src/pkg/reg/adapter/harbor/base/client.go @@ -114,11 +114,11 @@ func (c *Client) ListProjects(name string) ([]*Project, error) { } // ListProjectsWithQuery lists projects with query -func (c *Client) ListProjectsWithQuery(q string, with_detail bool) ([]*Project, error) { +func (c *Client) ListProjectsWithQuery(q string, withDetail bool) ([]*Project, error) { projects := []*Project{} // if old version does not support query, it will fallback to normal // list(list all). - url := fmt.Sprintf("%s/projects?q=%s&with_detail=%t", c.BasePath(), url.QueryEscape(q), with_detail) + url := fmt.Sprintf("%s/projects?q=%s&with_detail=%t", c.BasePath(), url.QueryEscape(q), withDetail) if err := c.C.GetAndIteratePagination(url, &projects); err != nil { return nil, err } diff --git a/src/pkg/reg/adapter/tencentcr/adapter.go b/src/pkg/reg/adapter/tencentcr/adapter.go index 2ec9e6ba9..1b2cfe36b 100644 --- a/src/pkg/reg/adapter/tencentcr/adapter.go +++ b/src/pkg/reg/adapter/tencentcr/adapter.go @@ -24,7 +24,7 @@ import ( ) var ( - errInvalidTcrEndpoint error = errors.New("[tencent-tcr.newAdapter] Invalid TCR instance endpoint") + errInvalidTcrEndpoint = errors.New("[tencent-tcr.newAdapter] Invalid TCR instance endpoint") ) func init() { diff --git a/src/pkg/systemartifact/manager.go b/src/pkg/systemartifact/manager.go index 79a486bc7..47b287c68 100644 --- a/src/pkg/systemartifact/manager.go +++ b/src/pkg/systemartifact/manager.go @@ -90,7 +90,7 @@ func NewManager() Manager { } func (mgr *systemArtifactManager) Create(ctx context.Context, artifactRecord *model.SystemArtifact, reader io.Reader) (int64, error) { - var artifactId int64 + var artifactID int64 // the entire create operation is executed within a transaction to ensure that any failures // during the blob creation or tracking record creation result in a rollback of the transaction @@ -105,11 +105,11 @@ func (mgr *systemArtifactManager) Create(ctx context.Context, artifactRecord *mo if err != nil { return err } - artifactId = id + artifactID = id return nil })(ctx) - return artifactId, createError + return artifactID, createError } func (mgr *systemArtifactManager) Read(ctx context.Context, vendor string, repository string, digest string) (io.ReadCloser, error) { @@ -242,7 +242,7 @@ func (mgr *systemArtifactManager) cleanup(ctx context.Context, criteria Selector return totalRecordsDeleted, totalReclaimedSize, err } totalReclaimedSize += record.Size - totalRecordsDeleted += 1 + totalRecordsDeleted++ } return totalRecordsDeleted, totalReclaimedSize, nil } diff --git a/src/pkg/task/dao/execution.go b/src/pkg/task/dao/execution.go index 8daad14a3..6ece9da1b 100644 --- a/src/pkg/task/dao/execution.go +++ b/src/pkg/task/dao/execution.go @@ -351,7 +351,7 @@ func (e *executionDAO) querySetter(ctx context.Context, query *q.Query) (orm.Que args = append(args, item) } args = append(args, value) - inClause, err := orm.CreateInClause(ctx, buildInClauseSqlForExtraAttrs(keys), args...) + inClause, err := orm.CreateInClause(ctx, buildInClauseSQLForExtraAttrs(keys), args...) if err != nil { return nil, err } @@ -362,7 +362,7 @@ func (e *executionDAO) querySetter(ctx context.Context, query *q.Query) (orm.Que } // Param keys is strings.Split() after trim "extra_attrs."/"ExtraAttrs." prefix -func buildInClauseSqlForExtraAttrs(keys []string) string { +func buildInClauseSQLForExtraAttrs(keys []string) string { switch len(keys) { case 0: // won't fall into this case, as the if condition on "keyPrefix == key" diff --git a/src/pkg/task/dao/execution_test.go b/src/pkg/task/dao/execution_test.go index 92fefb638..fbe583995 100644 --- a/src/pkg/task/dao/execution_test.go +++ b/src/pkg/task/dao/execution_test.go @@ -330,7 +330,7 @@ func TestExecutionDAOSuite(t *testing.T) { suite.Run(t, &executionDAOTestSuite{}) } -func Test_buildInClauseSqlForExtraAttrs(t *testing.T) { +func Test_buildInClauseSQLForExtraAttrs(t *testing.T) { type args struct { keys []string } @@ -346,8 +346,8 @@ func Test_buildInClauseSqlForExtraAttrs(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got := buildInClauseSqlForExtraAttrs(tt.args.keys); got != tt.want { - t.Errorf("buildInClauseSqlForExtraAttrs() = %v, want %v", got, tt.want) + if got := buildInClauseSQLForExtraAttrs(tt.args.keys); got != tt.want { + t.Errorf("buildInClauseSQLForExtraAttrs() = %v, want %v", got, tt.want) } }) } diff --git a/src/server/middleware/cosign/cosign.go b/src/server/middleware/cosign/cosign.go index d454956cf..7fc976235 100644 --- a/src/server/middleware/cosign/cosign.go +++ b/src/server/middleware/cosign/cosign.go @@ -29,7 +29,7 @@ var ( mediaTypeCosignLayer = "application/vnd.dev.cosign.simplesigning.v1+json" ) -// CosignSignatureMiddleware middleware to record the linkeage of artifact and its accessory +// SignatureMiddleware middleware to record the linkeage of artifact and its accessory /* PUT /v2/library/hello-world/manifests/sha256-1b26826f602946860c279fce658f31050cff2c596583af237d971f4629b57792.sig { "schemaVersion":2, @@ -50,7 +50,7 @@ var ( ] } */ -func CosignSignatureMiddleware() func(http.Handler) http.Handler { +func SignatureMiddleware() func(http.Handler) http.Handler { return middleware.AfterResponse(func(w http.ResponseWriter, r *http.Request, statusCode int) error { if statusCode != http.StatusCreated { return nil diff --git a/src/server/middleware/cosign/cosign_test.go b/src/server/middleware/cosign/cosign_test.go index ce3a38dc0..59732ce99 100644 --- a/src/server/middleware/cosign/cosign_test.go +++ b/src/server/middleware/cosign/cosign_test.go @@ -15,6 +15,8 @@ import ( "github.com/goharbor/harbor/src/pkg/accessory" "github.com/goharbor/harbor/src/pkg/accessory/model" accessorymodel "github.com/goharbor/harbor/src/pkg/accessory/model" + _ "github.com/goharbor/harbor/src/pkg/accessory/model/base" + _ "github.com/goharbor/harbor/src/pkg/accessory/model/cosign" "github.com/goharbor/harbor/src/pkg/artifact" "github.com/goharbor/harbor/src/pkg/distribution" htesting "github.com/goharbor/harbor/src/testing" @@ -137,7 +139,7 @@ func (suite *MiddlewareTestSuite) TestCosignSignature() { res := httptest.NewRecorder() next := suite.NextHandler(http.StatusCreated, map[string]string{"Docker-Content-Digest": descriptor.Digest.String()}) - CosignSignatureMiddleware()(next).ServeHTTP(res, req) + SignatureMiddleware()(next).ServeHTTP(res, req) suite.Equal(http.StatusCreated, res.Code) accs, err := accessory.Mgr.List(suite.Context(), &q.Query{ @@ -166,7 +168,7 @@ func (suite *MiddlewareTestSuite) TestCosignSignatureDup() { res := httptest.NewRecorder() next := suite.NextHandler(http.StatusCreated, map[string]string{"Docker-Content-Digest": descriptor.Digest.String()}) - CosignSignatureMiddleware()(next).ServeHTTP(res, req) + SignatureMiddleware()(next).ServeHTTP(res, req) suite.Equal(http.StatusCreated, res.Code) accs, err := accessory.Mgr.List(suite.Context(), &q.Query{ diff --git a/src/server/registry/route.go b/src/server/registry/route.go index 892b05327..44fd02fba 100644 --- a/src/server/registry/route.go +++ b/src/server/registry/route.go @@ -79,7 +79,7 @@ func RegisterRoutes() { Middleware(repoproxy.DisableBlobAndManifestUploadMiddleware()). Middleware(immutable.Middleware()). Middleware(quota.PutManifestMiddleware()). - Middleware(cosign.CosignSignatureMiddleware()). + Middleware(cosign.SignatureMiddleware()). Middleware(blob.PutManifestMiddleware()). HandlerFunc(putManifest) // blob head