0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2024-12-16 21:56:37 -05:00

style(metadb): use type aliases for metadb types to be easier to read (#2043)

Signed-off-by: Laurentiu Niculae <niculae.laurentiu1@gmail.com>
This commit is contained in:
LaurentiuNiculae 2024-02-14 19:08:08 +02:00 committed by GitHub
parent 36e04a40c2
commit de90abd5dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 90 additions and 73 deletions

View file

@ -160,7 +160,7 @@ func IsResourceExistsException(err error) bool {
func (imgTrustStore *ImageTrustStore) VerifySignature(
signatureType string, rawSignature []byte, sigKey string, manifestDigest godigest.Digest, imageMeta mTypes.ImageMeta,
repo string,
) (string, time.Time, bool, error) {
) (mTypes.Author, mTypes.ExpiryDate, mTypes.Validity, error) {
desc := ispec.Descriptor{
MediaType: imageMeta.MediaType,
Digest: imageMeta.Digest,

View file

@ -806,7 +806,7 @@ func TestConvertErrors(t *testing.T) {
Convey("RepoMeta2ExpandedRepoInfo", func() {
_, imgSums := convert.RepoMeta2ExpandedRepoInfo(ctx,
mTypes.RepoMeta{
Tags: map[string]mTypes.Descriptor{"tag": {MediaType: "bad-type", Digest: "digest"}},
Tags: map[mTypes.Tag]mTypes.Descriptor{"tag": {MediaType: "bad-type", Digest: "digest"}},
},
map[string]mTypes.ImageMeta{
"digest": {},

View file

@ -387,7 +387,7 @@ func TestImageFormat(t *testing.T) {
metaDB := &mocks.MetaDBMock{
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {
MediaType: ispec.MediaTypeImageIndex,
Digest: godigest.FromString("digest").String(),
@ -860,7 +860,7 @@ func TestCVEStruct(t *testing.T) { //nolint:gocyclo
err = metaDB.SetRepoMeta("repo-with-bad-tag-digest", mTypes.RepoMeta{
Name: "repo-with-bad-tag-digest",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {MediaType: ispec.MediaTypeImageManifest, Digest: godigest.FromString("1").String()},
},
})

View file

@ -158,7 +158,7 @@ func TestScanGeneratorWithMockedData(t *testing.T) { //nolint: gocyclo
err = metaDB.SetRepoMeta("repo-with-bad-tag-digest", mTypes.RepoMeta{
Name: "repo-with-bad-tag-digest",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {MediaType: ispec.MediaTypeImageManifest, Digest: godigest.FromString("1").String()},
"tag-multi-arch": {MediaType: ispec.MediaTypeImageIndex, Digest: godigest.FromString("2").String()},
},

View file

@ -44,7 +44,7 @@ func TestCVEDBGenerator(t *testing.T) {
metaDB := &mocks.MetaDBMock{
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {MediaType: ispec.MediaTypeImageIndex},
},
}, nil

View file

@ -165,7 +165,7 @@ func getImageSummary(ctx context.Context, repo, tag string, digest *string, skip
return nil, gqlerror.Errorf("can't find image: %s:%s", repo, tag)
}
repoMeta.Tags = map[string]mTypes.Descriptor{tag: manifestDescriptor}
repoMeta.Tags = map[mTypes.Tag]mTypes.Descriptor{tag: manifestDescriptor}
imageDigest := manifestDescriptor.Digest
if digest != nil {

View file

@ -229,13 +229,13 @@ func TestRepoListWithNewestImage(t *testing.T) {
repos := []mTypes.RepoMeta{
{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.1": {
Digest: img1.DigestStr(),
MediaType: ispec.MediaTypeImageManifest,
},
},
Signatures: map[string]mTypes.ManifestSignatures{
Signatures: map[mTypes.ImageDigest]mTypes.ManifestSignatures{
img1.DigestStr(): {
"cosign": []mTypes.SignatureInfo{
{SignatureManifestDigest: "testSignature", LayersInfo: []mTypes.LayerInfo{}},
@ -254,13 +254,13 @@ func TestRepoListWithNewestImage(t *testing.T) {
},
{
Name: "repo2",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.2": {
Digest: img2.DigestStr(),
MediaType: ispec.MediaTypeImageManifest,
},
},
Signatures: map[string]mTypes.ManifestSignatures{
Signatures: map[mTypes.ImageDigest]mTypes.ManifestSignatures{
img1.DigestStr(): {
"cosign": []mTypes.SignatureInfo{
{SignatureManifestDigest: "testSignature", LayersInfo: []mTypes.LayerInfo{}},
@ -395,9 +395,9 @@ func TestGetStarredRepos(t *testing.T) {
}
func getTestRepoMetaWithImages(repo string, images []Image) mTypes.RepoMeta {
tags := map[string]mTypes.Descriptor{"": {}}
statistics := map[string]mTypes.DescriptorStatistics{"": {}}
signatures := map[string]mTypes.ManifestSignatures{"": {}}
tags := map[mTypes.Tag]mTypes.Descriptor{"": {}}
statistics := map[mTypes.Tag]mTypes.DescriptorStatistics{"": {}}
signatures := map[mTypes.ImageDigest]mTypes.ManifestSignatures{"": {}}
referrers := map[string][]mTypes.ReferrerInfo{"": {}}
for i := range images {
@ -542,7 +542,7 @@ func TestGetImageSummaryError(t *testing.T) {
Convey("getImageSummary", t, func() {
metaDB := mocks.MetaDBMock{
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{Tags: map[string]mTypes.Descriptor{"tag": {}}}, nil
return mTypes.RepoMeta{Tags: map[mTypes.Tag]mTypes.Descriptor{"tag": {}}}, nil
},
FilterImageMetaFn: func(ctx context.Context, digests []string) (map[string]mTypes.ImageMeta, error) {
return nil, ErrTestError
@ -597,7 +597,7 @@ func TestImageListError(t *testing.T) {
image := CreateDefaultImage()
repoMeta := mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{image.DigestStr(): {
Tags: map[mTypes.Tag]mTypes.Descriptor{image.DigestStr(): {
Digest: image.DigestStr(),
MediaType: ispec.MediaTypeImageManifest,
}},
@ -944,7 +944,7 @@ func TestQueryResolverErrors(t *testing.T) {
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
},
}, nil
@ -1632,7 +1632,7 @@ func TestCVEResolvers(t *testing.T) { //nolint:gocyclo
pageInput, mocks.MetaDBMock{
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.1.0": {
Digest: godigest.FromString("str").String(),
MediaType: ispec.MediaTypeImageManifest,
@ -1893,7 +1893,7 @@ func TestMockedDerivedImageList(t *testing.T) {
mocks.MetaDBMock{
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.1": {
Digest: image.DigestStr(),
MediaType: ispec.MediaTypeImageManifest,
@ -1923,7 +1923,7 @@ func TestMockedDerivedImageList(t *testing.T) {
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.1": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
},
}, nil
@ -1979,7 +1979,7 @@ func TestMockedDerivedImageList(t *testing.T) {
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.1": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
},
}, nil
@ -2001,7 +2001,7 @@ func TestMockedDerivedImageList(t *testing.T) {
fullImageMetaList := []mTypes.FullImageMeta{}
repos := []mTypes.RepoMeta{{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.1": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
"1.0.2": {Digest: derivedImage.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
"1.0.3": {Digest: derivedImage.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
@ -2084,7 +2084,7 @@ func TestMockedBaseImageList(t *testing.T) {
mocks.MetaDBMock{
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.2": {
Digest: image.DigestStr(),
MediaType: ispec.MediaTypeImageManifest,
@ -2112,7 +2112,7 @@ func TestMockedBaseImageList(t *testing.T) {
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.2": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
},
}, nil
@ -2162,7 +2162,7 @@ func TestMockedBaseImageList(t *testing.T) {
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.2": {Digest: derivedImage.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
},
}, nil
@ -2175,7 +2175,7 @@ func TestMockedBaseImageList(t *testing.T) {
fullImageMetaList := []mTypes.FullImageMeta{}
repos := []mTypes.RepoMeta{{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.1": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
"1.0.3": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
"1.0.2": {Digest: derivedImage.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
@ -2257,7 +2257,7 @@ func TestMockedBaseImageList(t *testing.T) {
GetRepoMetaFn: func(ctx context.Context, repo string) (mTypes.RepoMeta, error) {
return mTypes.RepoMeta{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.2": {Digest: derivedImage.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
},
}, nil
@ -2270,7 +2270,7 @@ func TestMockedBaseImageList(t *testing.T) {
fullImageMetaList := []mTypes.FullImageMeta{}
repos := []mTypes.RepoMeta{{
Name: "repo1",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"1.0.1": {Digest: image.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
"1.0.2": {Digest: derivedImage.DigestStr(), MediaType: ispec.MediaTypeImageManifest},
},

View file

@ -28,7 +28,7 @@ type imgTrustStore struct{}
func (its imgTrustStore) VerifySignature(
signatureType string, rawSignature []byte, sigKey string, manifestDigest godigest.Digest, imageMeta mTypes.ImageMeta,
repo string,
) (string, time.Time, bool, error) {
) (mTypes.Author, mTypes.ExpiryDate, mTypes.Validity, error) {
return "", time.Time{}, false, nil
}
@ -75,7 +75,7 @@ func TestWrapperErrors(t *testing.T) {
Convey("getProtoImageMeta errors", func() {
err := boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {
MediaType: ispec.MediaTypeImageManifest,
Digest: imageMeta.Digest.String(),
@ -288,7 +288,7 @@ func TestWrapperErrors(t *testing.T) {
Convey("getProtoImageMeta fails", func() {
err := boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {
MediaType: ispec.MediaTypeImageManifest,
Digest: godigest.FromString("not-found").String(),
@ -307,7 +307,7 @@ func TestWrapperErrors(t *testing.T) {
err = boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {
MediaType: ispec.MediaTypeImageIndex,
Digest: multiarchImageMeta.Digest.String(),
@ -344,7 +344,7 @@ func TestWrapperErrors(t *testing.T) {
badImageDigest := godigest.FromString("bad-image-manifest")
err := boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"bad-image-manifest": {
MediaType: ispec.MediaTypeImageManifest,
Digest: badImageDigest.String(),
@ -363,7 +363,7 @@ func TestWrapperErrors(t *testing.T) {
badIndexDigest := godigest.FromString("bad-image-manifest")
err := boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"bad-image-index": {
MediaType: ispec.MediaTypeImageIndex,
Digest: badIndexDigest.String(),
@ -382,7 +382,7 @@ func TestWrapperErrors(t *testing.T) {
goodIndexBadManifestDigest := godigest.FromString("good-index-bad-manifests")
err := boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"good-index-bad-manifests": {
MediaType: ispec.MediaTypeImageIndex,
Digest: goodIndexBadManifestDigest.String(),
@ -403,7 +403,7 @@ func TestWrapperErrors(t *testing.T) {
Convey("bad media type", func() {
err := boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"mad-media-type": {
MediaType: "bad media type",
Digest: godigest.FromString("dig").String(),
@ -430,7 +430,7 @@ func TestWrapperErrors(t *testing.T) {
Convey("bad media Type fails", func() {
err := boltdbWrapper.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"bad-repo-meta": {
MediaType: "bad media type",
Digest: godigest.FromString("dig").String(),

View file

@ -292,8 +292,9 @@ func GetLayersInfo(layersInfo []*proto_go.LayersInfo) []mTypes.LayerInfo {
return results
}
func GetStatisticsMap(stats map[string]*proto_go.DescriptorStatistics) map[string]mTypes.DescriptorStatistics {
results := map[string]mTypes.DescriptorStatistics{}
func GetStatisticsMap(stats map[mTypes.ImageDigest]*proto_go.DescriptorStatistics,
) map[mTypes.ImageDigest]mTypes.DescriptorStatistics {
results := map[mTypes.ImageDigest]mTypes.DescriptorStatistics{}
for digest, stat := range stats {
results[digest] = mTypes.DescriptorStatistics{
@ -348,8 +349,8 @@ func GetImageIndexMeta(indexContent ispec.Index, size int64, digest godigest.Dig
}
}
func GetTags(tags map[string]*proto_go.TagDescriptor) map[string]mTypes.Descriptor {
resultMap := map[string]mTypes.Descriptor{}
func GetTags(tags map[mTypes.Tag]*proto_go.TagDescriptor) map[mTypes.Tag]mTypes.Descriptor {
resultMap := map[mTypes.Tag]mTypes.Descriptor{}
for tag, tagDescriptor := range tags {
resultMap[tag] = mTypes.Descriptor{

View file

@ -118,8 +118,9 @@ func GetProtoImageIndexMeta(indexContent ispec.Index, size int64, digest string)
}
}
func GetProtoStatistics(stats map[string]mTypes.DescriptorStatistics) map[string]*proto_go.DescriptorStatistics {
results := map[string]*proto_go.DescriptorStatistics{}
func GetProtoStatistics(stats map[mTypes.ImageDigest]mTypes.DescriptorStatistics,
) map[mTypes.ImageDigest]*proto_go.DescriptorStatistics {
results := map[mTypes.ImageDigest]*proto_go.DescriptorStatistics{}
for digest, stat := range stats {
results[digest] = &proto_go.DescriptorStatistics{
@ -335,8 +336,8 @@ func GetProtoTime(time *time.Time) *timestamppb.Timestamp {
return timestamppb.New(*time)
}
func GetProtoTags(tags map[string]mTypes.Descriptor) map[string]*proto_go.TagDescriptor {
resultMap := map[string]*proto_go.TagDescriptor{}
func GetProtoTags(tags map[mTypes.Tag]mTypes.Descriptor) map[mTypes.Tag]*proto_go.TagDescriptor {
resultMap := map[mTypes.Tag]*proto_go.TagDescriptor{}
for tag, tagDescriptor := range tags {
resultMap[tag] = &proto_go.TagDescriptor{

View file

@ -208,7 +208,7 @@ func TestWrapperErrors(t *testing.T) {
Convey("getProtoImageMeta errors", func() {
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {
MediaType: ispec.MediaTypeImageManifest,
Digest: imageMeta.Digest.String(),
@ -405,7 +405,7 @@ func TestWrapperErrors(t *testing.T) {
Convey("getProtoImageMeta fails", func() {
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {
MediaType: ispec.MediaTypeImageManifest,
Digest: godigest.FromString("not-found").String(),
@ -424,7 +424,7 @@ func TestWrapperErrors(t *testing.T) {
err = dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"tag": {
MediaType: ispec.MediaTypeImageIndex,
Digest: multiarchImageMeta.Digest.String(),
@ -457,7 +457,7 @@ func TestWrapperErrors(t *testing.T) {
badImageDigest := godigest.FromString("bad-image-manifest")
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"bad-image-manifest": {
MediaType: ispec.MediaTypeImageManifest,
Digest: badImageDigest.String(),
@ -476,7 +476,7 @@ func TestWrapperErrors(t *testing.T) {
badIndexDigest := godigest.FromString("bad-image-manifest")
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"bad-image-index": {
MediaType: ispec.MediaTypeImageIndex,
Digest: badIndexDigest.String(),
@ -495,7 +495,7 @@ func TestWrapperErrors(t *testing.T) {
goodIndexBadManifestDigest := godigest.FromString("good-index-bad-manifests")
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"good-index-bad-manifests": {
MediaType: ispec.MediaTypeImageIndex,
Digest: goodIndexBadManifestDigest.String(),
@ -528,7 +528,7 @@ func TestWrapperErrors(t *testing.T) {
badImageDigest := godigest.FromString("bad-image-manifest")
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"bad-image-manifest": {
MediaType: ispec.MediaTypeImageManifest,
Digest: badImageDigest.String(),
@ -547,7 +547,7 @@ func TestWrapperErrors(t *testing.T) {
badIndexDigest := godigest.FromString("bad-image-manifest")
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"bad-image-index": {
MediaType: ispec.MediaTypeImageIndex,
Digest: badIndexDigest.String(),
@ -566,7 +566,7 @@ func TestWrapperErrors(t *testing.T) {
goodIndexBadManifestDigest := godigest.FromString("good-index-bad-manifests")
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"good-index-bad-manifests": {
MediaType: ispec.MediaTypeImageIndex,
Digest: goodIndexBadManifestDigest.String(),
@ -587,7 +587,7 @@ func TestWrapperErrors(t *testing.T) {
Convey("bad media type", func() {
err := dynamoWrapper.SetRepoMeta("repo", mTypes.RepoMeta{ //nolint: contextcheck
Name: "repo",
Tags: map[string]mTypes.Descriptor{
Tags: map[mTypes.Tag]mTypes.Descriptor{
"mad-media-type": {
MediaType: "bad media type",
Digest: godigest.FromString("dig").String(),

View file

@ -526,11 +526,11 @@ func RunMetaDBTests(t *testing.T, metaDB mTypes.MetaDB, preparationFuncs ...func
Convey("Set/Get RepoMeta", func() {
err := metaDB.SetRepoMeta("repo", mTypes.RepoMeta{
Name: "repo",
Tags: map[string]mTypes.Descriptor{"tag": {Digest: "dig"}},
Tags: map[mTypes.Tag]mTypes.Descriptor{"tag": {Digest: "dig"}},
Statistics: map[string]mTypes.DescriptorStatistics{},
Signatures: map[string]mTypes.ManifestSignatures{},
Referrers: map[string][]mTypes.ReferrerInfo{"digest": {{Digest: "dig"}}},
Statistics: map[mTypes.ImageDigest]mTypes.DescriptorStatistics{},
Signatures: map[mTypes.ImageDigest]mTypes.ManifestSignatures{},
Referrers: map[mTypes.ImageDigest][]mTypes.ReferrerInfo{"digest": {{Digest: "dig"}}},
})
So(err, ShouldBeNil)
repoMeta, err := metaDB.GetRepoMeta(ctx, "repo")

View file

@ -54,10 +54,6 @@ func GetLatestImageDigests(repoMetaList []RepoMeta) []string {
return digests
}
type (
ImageDigest = string
)
type MetaDB interface { //nolint:interfacebloat
UserDB
@ -89,7 +85,7 @@ type MetaDB interface { //nolint:interfacebloat
// GetImageMeta returns the raw information about an image
GetImageMeta(digest godigest.Digest) (ImageMeta, error)
// GetMultipleRepoMeta returns information about all repositories as map[string]RepoMetadata filtered by the filter
// GetMultipleRepoMeta returns a list of all repos that match the given filter.
// function
GetMultipleRepoMeta(ctx context.Context, filter func(repoMeta RepoMeta) bool) (
[]RepoMeta, error)
@ -123,7 +119,7 @@ type MetaDB interface { //nolint:interfacebloat
UpdateStatsOnDownload(repo string, reference string) error
// FilterImageMeta returns the image data for the given digests
FilterImageMeta(ctx context.Context, digests []string) (map[string]ImageMeta, error)
FilterImageMeta(ctx context.Context, digests []string) (map[ImageDigest]ImageMeta, error)
/*
RemoveRepoReference removes the tag from RepoMetadata if the reference is a tag,
@ -190,11 +186,17 @@ type UserDB interface { //nolint:interfacebloat
DeleteUserAPIKey(ctx context.Context, id string) error
}
type (
Author = string
ExpiryDate = time.Time
Validity = bool
)
type ImageTrustStore interface {
VerifySignature(
signatureType string, rawSignature []byte, sigKey string, manifestDigest godigest.Digest, imageMeta ImageMeta,
repo string,
) (string, time.Time, bool, error)
) (Author, ExpiryDate, Validity, error)
}
// ImageMeta can store all data related to a image, multiarch or simple. Used for writing imaged to MetaDB.
@ -214,13 +216,18 @@ type ManifestMeta struct {
Config ispec.Image
}
type (
Tag = string
ImageDigest = string
)
type RepoMeta struct {
Name string
Tags map[string]Descriptor
Tags map[Tag]Descriptor
Statistics map[string]DescriptorStatistics
Signatures map[string]ManifestSignatures
Referrers map[string][]ReferrerInfo
Statistics map[ImageDigest]DescriptorStatistics
Signatures map[ImageDigest]ManifestSignatures
Referrers map[ImageDigest][]ReferrerInfo
LastUpdatedImage *LastUpdatedImage
Platforms []ispec.Platform
@ -287,7 +294,11 @@ type DescriptorStatistics struct {
PushedBy string
}
type ManifestSignatures map[string][]SignatureInfo
type (
SignatureType = string
)
type ManifestSignatures map[SignatureType][]SignatureInfo
type LayerInfo struct {
LayerDigest string
@ -309,11 +320,15 @@ type SignatureMetadata struct {
LayersInfo []LayerInfo
}
type (
HashedAPIKey = string
)
type UserData struct {
StarredRepos []string
BookmarkedRepos []string
Groups []string
APIKeys map[string]APIKeyDetails
APIKeys map[HashedAPIKey]APIKeyDetails
}
type Filter struct {

View file

@ -18,7 +18,7 @@ type RepoImage struct {
type RepoMultiArchImage struct {
imageUtil.MultiarchImage
ImageStatistics map[string]mTypes.DescriptorStatistics
ImageStatistics map[mTypes.ImageDigest]mTypes.DescriptorStatistics
Reference string
}