Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
ashpect committed Nov 14, 2023
1 parent 260d59a commit 8243916
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 88 deletions.
60 changes: 5 additions & 55 deletions pkg/imgpkg/imageset/tar_image_set.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,8 @@ import (
"io"
"os"

"github.com/google/go-containerregistry/pkg/crane"
regname "github.com/google/go-containerregistry/pkg/name"
v1 "github.com/google/go-containerregistry/pkg/v1"
"github.com/google/go-containerregistry/pkg/v1/layout"
"github.com/google/go-containerregistry/pkg/v1/partial"
"github.com/vmware-tanzu/carvel-imgpkg/pkg/imgpkg/imagedesc"
"github.com/vmware-tanzu/carvel-imgpkg/pkg/imgpkg/imagetar"
"github.com/vmware-tanzu/carvel-imgpkg/pkg/imgpkg/registry"
Expand Down Expand Up @@ -132,14 +129,14 @@ func (i *TarImageSet) Import(path string, importRepo regname.Repository, registr
var err error

if tarisoci {
imgOrIndexes, err = imagetar.NewTarReader(path).ReadOci()
imgOrIndexes, err = imagetar.NewTarReader(path).ReadOci(importRepo.Name())
// ---- FOR TESTING PORPOSES ----
//crane.SaveOCI(*imgOrIndexes[0].Image, "/Users/ashishkumarsingh/Desktop/stuff/ashpect/imgpkg/cmd/imgpkg/a0")
} else {
imgOrIndexes, err = imagetar.NewTarReader(path).Read()
fmt.Println(imgOrIndexes[0].Ref())
//for testing
crane.SaveOCI(*imgOrIndexes[0].Image, "/Users/ashishkumarsingh/Desktop/stuff/ashpect/imgpkg/cmd/imgpkg/a0")
//crane.SaveOCI(*imgOrIndexes[1].Image, "/Users/ashishkumarsingh/Desktop/stuff/ashpect/imgpkg/cmd/imgpkg/a1")
// fmt.Println(imgOrIndexes[0].Ref())
// ---- FOR TESTING PORPOSES ----
//crane.SaveOCI(*imgOrIndexes[0].Image, "/Users/ashishkumarsingh/Desktop/stuff/ashpect/imgpkg/cmd/imgpkg/a0")
}

processedImages, err := i.imageSet.Import(imgOrIndexes, importRepo, registry)
Expand All @@ -149,50 +146,3 @@ func (i *TarImageSet) Import(path string, importRepo regname.Repository, registr

return processedImages, err
}

// change function to use accordingly
func loadImage(path string, index bool) (partial.WithRawManifest, error) {
// to check if path is a tarball or a directory
stat, err := os.Stat(path)
if err != nil {
return nil, err
}

if !stat.IsDir() {
img, err := crane.Load(path)
if err != nil {
return nil, fmt.Errorf("loading %s as tarball: %w", path, err)
}
return img, nil
}

//if the path is a oci layout directory
l, err := layout.ImageIndexFromPath(path)
if err != nil {
return nil, fmt.Errorf("loading %s as OCI layout: %w", path, err)
}

if index {
return l, nil
}

//append l.ImageIndex() to imgOrIndexes

m, err := l.IndexManifest()

if err != nil {
return nil, err
}
if len(m.Manifests) != 1 {
return nil, fmt.Errorf("layout contains %d entries, consider --index", len(m.Manifests))
}

desc := m.Manifests[0]
if desc.MediaType.IsImage() {
return l.Image(desc.Digest)
} else if desc.MediaType.IsIndex() {
return l.ImageIndex(desc.Digest)
}

return nil, fmt.Errorf("layout contains non-image (mediaType: %q), consider --index", desc.MediaType)
}
42 changes: 9 additions & 33 deletions pkg/imgpkg/imagetar/tar_reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ func (r TarReader) getIdsFromManifest(file tarFile) (*imagedesc.ImageRefDescript
return ids, nil
}

func (r TarReader) ReadOci() ([]imagedesc.ImageOrIndex, error) {
func (r TarReader) ReadOci(reponame string) ([]imagedesc.ImageOrIndex, error) {

//Check if the path is a OCI layout directory
stat, err := os.Stat(r.path)
Expand All @@ -166,35 +166,25 @@ func (r TarReader) ReadOci() ([]imagedesc.ImageOrIndex, error) {

//TODO : FromPath checks for index.json but does not check for oci-layout, so add a check for oci-layout here.

//Get the oci layout rooted in the file system at path, layout index struct
l, err := layout.FromPath(r.path)
if err != nil {
return nil, err
}

ImageIndex, err := l.ImageIndex()

digest, err := ImageIndex.Digest()

//fmt.Println("ImageIndex's digest :", digest)

myImageIndex := imagedesc.ImageIndexIntermediate{
ImageIndexIntermediate := imagedesc.ImageIndexIntermediate{
Index: ImageIndex,
}

fmt.Println("ImageIndex's tag :", myImageIndex.Tag())
fmt.Println("ImageIndex's ref :", myImageIndex.Ref())

//convert digest into a string
// Update ref
digest, err := ImageIndex.Digest()
digestStr := digest.String()
ref := reponame + "@" + digestStr
ImageIndexIntermediate.SetRef(ref)

ref := "index.docker.io/" + "ashpect/testrepo22@" + digestStr

//fmt.Println("Ref to be updated :", ref)

myImageIndex.SetRef(ref)

var i imagedesc.ImageIndexWithRef = myImageIndex
// Create and populate imageOrIndex
var i imagedesc.ImageIndexWithRef = ImageIndexIntermediate

imageOrIndex := imagedesc.ImageOrIndex{
Image: nil,
Expand All @@ -206,23 +196,9 @@ func (r TarReader) ReadOci() ([]imagedesc.ImageOrIndex, error) {
OrigRef: "original-reference",
}

//add imageOrIndex to the slice of imageOrIndex
//Add imageOrIndex to the slice of imageOrIndex
var imageOrIndexSlice []imagedesc.ImageOrIndex
imageOrIndexSlice = append(imageOrIndexSlice, imageOrIndex)

//imgOrIndexes = append(imgOrIndexes, imagedesc.ImageOrIndex{Index: ImageIndex})
//Handle multiples cases when manifests in index.json are >1

//IMP
//ok is the bool that tells us if the image is an image or an index
//t is the v1.Image or v1.ImageIndex
// t, _ := ImageIndex.(v1.Image)
// if err != nil {
// return nil, err
// }
// ----> file := tarFile{r.path}

//crane.SaveOCI(t, "/Users/ashishkumarsingh/Desktop/stuff/ashpect/imgpkg/cmd/imgpkg/hotstuff")

return imageOrIndexSlice, nil
}

0 comments on commit 8243916

Please sign in to comment.