{"record":{"id":"60bebb4017855bef","repo":"goharbor/harbor","slug":"manifest-v-not-found-in-local-registry","errorCode":null,"errorMessage":"manifest %v not found in local registry","messagePattern":"manifest (.+?) not found in local registry","errorType":"http","errorClass":"NotFoundError","httpStatus":404,"severity":"error","filePath":"src/controller/proxy/controller.go","lineNumber":160,"sourceCode":"\treturn exist\n}\n\n// ManifestList ...\ntype ManifestList struct {\n\tContent     []byte\n\tDigest      string\n\tContentType string\n}\n\n// getManifestDigestInLocal get the artifact digest in local\nfunc (c *controller) getManifestDigestInLocal(ctx context.Context, art lib.ArtifactInfo) (string, error) {\n\t// Get the manifest from local registry\n\ta, err := c.local.GetManifest(ctx, art)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tif a == nil {\n\t\treturn \"\", errors.NotFoundError(fmt.Errorf(\"manifest %v not found in local registry\", art.Repository))\n\t}\n\tif len(a.Digest) == 0 {\n\t\treturn \"\", errors.NotFoundError(fmt.Errorf(\"manifest %v not found in local registry\", art.Repository))\n\t}\n\treturn a.Digest, nil\n}\n\n// UseLocalManifest check if these manifest could be found in local registry,\n// the return error should be nil when it is not found in local and need to delegate to remote registry\n// the return error should be NotFoundError when it is not found in remote registry\n// the error will be captured by framework and return 404 to client\nfunc (c *controller) UseLocalManifest(ctx context.Context, art lib.ArtifactInfo, remote RemoteInterface, p *proModels.Project) (bool, *ManifestList, error) {\n\ta, err := c.local.GetManifest(ctx, art)\n\tif err != nil {\n\t\treturn false, nil, err\n\t}\n\t// Pull by digest when artifact exist in local\n\tif a != nil && len(art.Digest) > 0 {","sourceCodeStart":142,"sourceCodeEnd":178,"githubUrl":"https://github.com/goharbor/harbor/blob/7b2fd08cc568955cca339afeefab27372840d936/src/controller/proxy/controller.go#L142-L178","documentation":"Error \"manifest %v not found in local registry\" thrown in goharbor/harbor.","triggerScenarios":"Thrown at src/controller/proxy/controller.go:160 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7b2fd08cc568955cca339afeefab27372840d936","analyzedAt":"2026-08-16T00:00:10.961Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}