in k8s/go/pkg/resolver/resolver.go [164:192]
func parseImageSpec(spec string) (imageSpec, error) {
result := imageSpec{}
splitSpec := strings.Split(spec, ";")
for _, s := range splitSpec {
splitFields := strings.SplitN(s, "=", 2)
if len(splitFields) != 2 {
return imageSpec{}, fmt.Errorf("image spec item %q split by '=' into unexpected fields, got %d, want 2", s, len(splitFields))
}
switch splitFields[0] {
case "name":
result.name = splitFields[1]
case "tarball":
result.imgTarball = splitFields[1]
case "config":
result.imgConfig = splitFields[1]
case "diff_id":
result.diffIDs = strings.Split(splitFields[1], ",")
case "digest":
result.digests = strings.Split(splitFields[1], ",")
case "compressed_layer":
result.compressedLayers = strings.Split(splitFields[1], ",")
case "uncompressed_layer":
result.uncomressedLayers = strings.Split(splitFields[1], ",")
default:
return imageSpec{}, fmt.Errorf("unknown image spec field %q", splitFields[0])
}
}
return result, nil
}