feat(artifact): add OCI references support (#936)

Thanks @jdolitsky et al for kicking off these changes at:
https://github.com/oci-playground/zot/commits/main

Thanks @sudo-bmitch for reviewing the patch

Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
This commit is contained in:
Ramkumar Chinchani
2022-11-08 00:38:16 -08:00
committed by GitHub
parent eb722905cb
commit c0f93caacb
26 changed files with 865 additions and 118 deletions
+25 -6
View File
@@ -212,8 +212,10 @@ func GetRandomImageConfig() ([]byte, godigest.Digest) {
randomAuthor := randomString(maxLen)
config := imagespec.Image{
Architecture: "amd64",
OS: "linux",
Platform: imagespec.Platform{
Architecture: "amd64",
OS: "linux",
},
RootFS: imagespec.RootFS{
Type: "layers",
DiffIDs: []godigest.Digest{},
@@ -231,10 +233,25 @@ func GetRandomImageConfig() ([]byte, godigest.Digest) {
return configBlobContent, configBlobDigestRaw
}
func GetEmptyImageConfig() ([]byte, godigest.Digest) {
config := imagespec.Image{}
configBlobContent, err := json.MarshalIndent(&config, "", "\t")
if err != nil {
log.Fatal(err)
}
configBlobDigestRaw := godigest.FromBytes(configBlobContent)
return configBlobContent, configBlobDigestRaw
}
func GetImageConfig() ([]byte, godigest.Digest) {
config := imagespec.Image{
Architecture: "amd64",
OS: "linux",
Platform: imagespec.Platform{
Architecture: "amd64",
OS: "linux",
},
RootFS: imagespec.RootFS{
Type: "layers",
DiffIDs: []godigest.Digest{},
@@ -305,8 +322,10 @@ func GetOciLayoutDigests(imagePath string) (godigest.Digest, godigest.Digest, go
func GetImageComponents(layerSize int) (imagespec.Image, [][]byte, imagespec.Manifest, error) {
config := imagespec.Image{
Architecture: "amd64",
OS: "linux",
Platform: imagespec.Platform{
Architecture: "amd64",
OS: "linux",
},
RootFS: imagespec.RootFS{
Type: "layers",
DiffIDs: []godigest.Digest{},