{"record":{"id":"6bc244815c624f00","repo":"GoogleContainerTools/skaffold","slug":"rendering-manifests-w","errorCode":null,"errorMessage":"rendering manifests: %w","messagePattern":"rendering manifests: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/skaffold/app/cmd/delete.go","lineNumber":58,"sourceCode":"\t\tWithExample(\"Print the resources to be deleted\", \"delete --dry-run\").\n\t\tWithFlags([]*Flag{\n\t\t\t{Value: &dryRun, Name: \"dry-run\", DefValue: false, Usage: \"Don't delete resources, just print them.\", IsEnum: true},\n\t\t}).\n\t\tNoArgs(doDelete)\n}\n\nfunc doDelete(ctx context.Context, out io.Writer) error {\n\topts.DigestSource = constants.TagDigestSource\n\topts.RenderOnly = true\n\treturn withRunner(ctx, out, func(r runner.Runner, configs []util.VersionedConfig) error {\n\t\tbRes, err := r.Build(ctx, io.Discard, targetArtifacts(opts, configs))\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"executing build: %w\", err)\n\t\t}\n\n\t\tmanifestListByConfig, err := r.Render(ctx, io.Discard, bRes, false)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"rendering manifests: %w\", err)\n\t\t}\n\t\treturn r.Cleanup(ctx, out, dryRun, manifestListByConfig, opts.Command)\n\t})\n}\n","sourceCodeStart":40,"sourceCodeEnd":63,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/cmd/skaffold/app/cmd/delete.go#L40-L63","documentation":"Wraps a failure from Runner.Render during `skaffold delete`. After building, delete renders the manifests to determine which resources to clean up; render failures (manifest templating, kustomize/kpt errors, hydration problems) abort the cleanup. The wrapped errR/err carries the renderer-specific cause.","triggerScenarios":"`skaffold delete` reaches r.Render and the renderer fails: bad kustomize overlay, kpt/helm templating error, missing remote base, or invalid manifests in skaffold.yaml.","commonSituations":"Kustomize patches referencing files that no longer exist; helm values changed; kpt function failing; user edited manifests after deploy so they no longer render.","solutions":["Read the wrapped error for the renderer-specific cause (kustomize/kpt/helm) and fix the manifest source","Restore the manifest files/config to the state used at deploy time","Fall back to manual cleanup: kubectl delete on the deployed resources or `kubectl delete all -l <app-label>`","Run `skaffold render` standalone to debug the render pipeline"],"exampleFix":"// before: kustomization.yml references missing secret-generator\n// after\nrm -rf overlays/dev/secret-generator.yaml  # or restore the file\nskaffold render   # confirm render succeeds before delete","handlingStrategy":"validation","validationCode":"# validate manifests render before relying on delete\nskaffold render --output /tmp/check.yaml && echo \"render OK\"","typeGuard":null,"tryCatchPattern":"if err := run(); err != nil {\n    if strings.Contains(err.Error(), \"rendering manifests:\") {\n        // fall back to kubectl-based cleanup using stored manifests\n    }\n}","preventionTips":["Don't rename/delete kustomize bases or patches between deploy and delete","Run `skaffold render` as a CI gate on manifest changes","Keep manifests version-controlled so they can be restored for cleanup"],"tags":["skaffold","render","kubernetes-manifests"],"backgroundTag":"render-failed","analyzedSha":"a1189de023efc32d4b8e11f395acc678aa555011","analyzedAt":"2026-09-05T12:09:27.064Z","contentChangedAt":"2026-09-05T12:09:27.064Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}