github.com/moby/docker@v26.1.3+incompatible/internal/testutils/specialimage/configtarget.go (about) 1 package specialimage 2 3 import ( 4 "github.com/containerd/containerd/platforms" 5 "github.com/distribution/reference" 6 ocispec "github.com/opencontainers/image-spec/specs-go/v1" 7 ) 8 9 // ConfigTarget creates an image index with an image config being used as an 10 // image target instead of a manifest or index. 11 func ConfigTarget(dir string) (*ocispec.Index, error) { 12 const imageRef = "config:latest" 13 14 ref, err := reference.ParseNormalizedNamed(imageRef) 15 if err != nil { 16 return nil, err 17 } 18 19 desc, err := writeJsonBlob(dir, ocispec.MediaTypeImageConfig, ocispec.Image{ 20 Platform: platforms.MustParse("linux/amd64"), 21 Config: ocispec.ImageConfig{ 22 Env: []string{"FOO=BAR"}, 23 }, 24 }) 25 if err != nil { 26 return nil, err 27 } 28 desc.Annotations = map[string]string{ 29 "io.containerd.image.name": ref.String(), 30 } 31 32 return ociImage(dir, ref, desc) 33 }