| 491 | } |
| 492 | |
| 493 | func getDigestFromMetaFile(path string) (string, error) { |
| 494 | data, err := filesystem.ReadFile(path) |
| 495 | if err != nil { |
| 496 | return "", err |
| 497 | } |
| 498 | defer os.Remove(path) |
| 499 | |
| 500 | metadata := map[string]json.RawMessage{} |
| 501 | if err := json.Unmarshal(data, &metadata); err != nil { |
| 502 | log.L.WithError(err).Errorf("failed to unmarshal metadata file %s", path) |
| 503 | return "", err |
| 504 | } |
| 505 | digestRaw, ok := metadata["containerimage.digest"] |
| 506 | if !ok { |
| 507 | return "", errors.New("failed to find containerimage.digest in metadata file") |
| 508 | } |
| 509 | var digest string |
| 510 | if err := json.Unmarshal(digestRaw, &digest); err != nil { |
| 511 | log.L.WithError(err).Errorf("failed to unmarshal digset") |
| 512 | return "", err |
| 513 | } |
| 514 | return digest, nil |
| 515 | } |
| 516 | |
| 517 | func isMatchingRuntimePlatform(platform string, parser PlatformParser) bool { |
| 518 | p, err := parser.Parse(platform) |