{"record":{"id":"3010959eee2dfe04","repo":"GoogleContainerTools/skaffold","slug":"watching-files-for-renderer-w","errorCode":null,"errorMessage":"watching files for renderer: %w","messagePattern":"watching files for renderer: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/runner/dev.go","lineNumber":433,"sourceCode":"\t\t\tfunc() ([]string, error) { return r.tester.TestDependencies(ctx, artifact) },\n\t\t\tfunc(filemon.Events) { r.changeSet.AddRetest(artifact) },\n\t\t); err != nil {\n\t\t\tevent.DevLoopFailedWithErrorCode(r.devIteration, proto.StatusCode_DEVINIT_REGISTER_TEST_DEPS, err)\n\t\t\teventV2.TaskFailed(constants.DevLoop, err)\n\t\t\tendTrace()\n\t\t\treturn fmt.Errorf(\"watching test files: %w\", err)\n\t\t}\n\t}\n\n\t// Watch render configuration\n\tif err := r.monitor.Register(\n\t\tr.renderer.ManifestDeps,\n\t\tfunc(filemon.Events) { r.changeSet.Redeploy() },\n\t); err != nil {\n\t\tevent.DevLoopFailedWithErrorCode(r.devIteration, proto.StatusCode_DEVINIT_REGISTER_RENDER_DEPS, err)\n\t\teventV2.TaskFailed(constants.DevLoop, err)\n\t\tendTrace()\n\t\treturn fmt.Errorf(\"watching files for renderer: %w\", err)\n\t}\n\n\t// Watch deployment configuration\n\tif err := r.monitor.Register(\n\t\tr.deployer.Dependencies,\n\t\tfunc(filemon.Events) { r.changeSet.Redeploy() },\n\t); err != nil {\n\t\tevent.DevLoopFailedWithErrorCode(r.devIteration, proto.StatusCode_DEVINIT_REGISTER_DEPLOY_DEPS, err)\n\t\teventV2.TaskFailed(constants.DevLoop, err)\n\t\tendTrace()\n\t\treturn fmt.Errorf(\"watching files for deployer: %w\", err)\n\t}\n\n\t// Watch Skaffold configuration\n\tif err := r.monitor.Register(\n\t\tfunc() ([]string, error) { return []string{r.runCtx.ConfigurationFile()}, nil },\n\t\tfunc(filemon.Events) { r.changeSet.Reload() },\n\t); err != nil {","sourceCodeStart":415,"sourceCodeEnd":451,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/runner/dev.go#L415-L451","documentation":"Dev() registers the renderer's manifest dependencies (e.g. kustomize/helm files) with the file monitor so edits trigger a redeploy. Failure emits DEVINIT_REGISTER_RENDER_DEPS and returns 'watching files for renderer'. This aborts dev mode during initialization.","triggerScenarios":"`r.monitor.Register(r.renderer.ManifestDeps, ...)` errors — ManifestDeps() fails to enumerate manifest inputs (missing kustomization.yaml, unreadable helm chart, bad render config) or the watcher cannot register the paths.","commonSituations":"kustomization.yaml missing or malformed references; helm chart path in skaffold.yaml incorrect; render-remote manifests unreachable (remote kustomize base); permission problems.","solutions":["Verify the manifest sources (kustomization.yaml / helm chart paths) exist and are readable","Run `skaffold render` separately to surface the manifest resolution error clearly","Fix the `manifests:`/`render:` config in skaffold.yaml","Raise inotify watch limits if registration fails due to watcher exhaustion"],"exampleFix":"// before\nmanifests:\n  kustomize:\n    paths: ['k8s/overlays/dev']  # overlay doesn't exist\n// after\nmanifests:\n  kustomize:\n    paths: ['k8s/overlays/local']","handlingStrategy":"validation","validationCode":"// validate manifest sources resolve before dev\nfor _, p := range renderPaths {\n    if _, err := os.Stat(p); err != nil {\n        return fmt.Errorf(\"render dep missing: %s\", p)\n    }\n}\n// and check kustomize builds: exec \"kustomize build <dir>\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Commit kustomization.yaml/helm charts referenced by render config","Run `skaffold render` in CI to catch manifest breakage early","Avoid remote kustomize bases that require network at dev time","Pin helm chart versions"],"tags":["skaffold","file-watch","render","kustomize"],"backgroundTag":"file-watch-registration-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"}