goharbor/harbor · error · NotFoundError

NOT_FOUND

NOT_FOUND

Error message

readme layer not found

What it means

Error "readme layer not found" thrown in goharbor/harbor.

Source

Thrown at src/controller/artifact/processor/cnai/parser/readme.go:66

	// lookup the readme file layer.
	var layer *ocispec.Descriptor
	for _, desc := range manifest.Layers {
		if slices.Contains([]string{
			modelspec.MediaTypeModelDoc,
			modelspec.MediaTypeModelDocRaw,
		}, desc.MediaType) {
			if desc.Annotations != nil {
				filepath := desc.Annotations[modelspec.AnnotationFilepath]
				if filepath == "README" || filepath == "README.md" {
					layer = &desc
					break
				}
			}
		}
	}

	if layer == nil {
		return "", nil, errors.NotFoundError(fmt.Errorf("readme layer not found"))
	}

	_, content, err := r.base.Parse(ctx, artifact, layer)
	if err != nil {
		return "", nil, err
	}

	return contentTypeMarkdown, content, nil
}

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/controller/artifact/processor/cnai/parser/readme.go:66 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/924a5752fbb39c41. Report an issue: GitHub.