GoogleContainerTools/skaffold · error

rendering manifests: %w

Error message

rendering manifests: %w

What it means

This error wraps any failure that occurs while Skaffold is rendering Kubernetes manifests during `skaffold run`. The renderer (helm, kustomize, kpt, or raw) transforms the manifests defined in skaffold.yaml into deployable resources, and any error in that pipeline is surfaced here with the underlying cause preserved via %w.

Source

Thrown at cmd/skaffold/app/cmd/run.go:61

func doRun(ctx context.Context, out io.Writer) error {
	return withRunner(ctx, out, func(r runner.Runner, configs []util.VersionedConfig) error {
		bRes, err := r.Build(ctx, out, targetArtifacts(opts, configs))
		if err != nil {
			return fmt.Errorf("failed to build: %w", err)
		}

		if !opts.SkipTests {
			err = r.Test(ctx, out, bRes)
			if err != nil {
				return fmt.Errorf("failed to test: %w", err)
			}
		}

		// Render
		manifestList, err := r.Render(ctx, out, bRes, false)
		if err != nil {
			return fmt.Errorf("rendering manifests: %w", err)
		}
		if opts.RenderOnly {
			return manifest.Write(manifestList.String(), opts.RenderOutput, out)
		}

		err = r.DeployAndLog(ctx, out, bRes, manifestList)
		if err != nil {
			return fmt.Errorf("failed to deploy: %w", err)
		}

		tips.PrintForRun(out, opts)

		return nil
	})
}

View on GitHub (pinned to a1189de023)

Solutions

  1. Read the wrapped cause after 'rendering manifests:' in the error output to identify the failing renderer/manifest
  2. Run `skaffold render` standalone to reproduce the render failure without building/deploying
  3. Fix the manifest source: correct file paths in skaffold.yaml render config, helm values, or kustomization resources
  4. If the error mentions a missing image, ensure the artifact is defined and built before render

Example fix

// before (skaffold.yaml)
manifests:
  rawYaml:
    - manifests/*.yaml
// after (correct glob/path; file exists)
manifests:
  rawYaml:
    - k8s/deployment.yaml
    - k8s/service.yaml
Defensive patterns

Strategy: validation

Validate before calling

skaffold render --output /dev/null || echo 'render pipeline broken - fix manifests before run'

Try / catch

if err := skaffold.Run(ctx, out); err != nil {
	if strings.Contains(err.Error(), "rendering manifests:") {
		log.Fatalf("manifest rendering failed: %v", err) // inspect wrapped cause
	}
	return err
}

Prevention

When it happens

Trigger: Running `skaffold run` (or `skaffold render`) where r.Render() fails: e.g. a helm chart cannot be templated, kustomize build fails, an image reference in the manifest cannot be replaced, or a referenced manifest file does not exist.

Common situations: Helm values.yaml references a missing file; kustomization.yaml has a bad resource path; manifest references an image not built in the build results; YAML template syntax errors in helm templates.

Related errors


AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05). Data as JSON: /api/errors/866e15a8af07fe31. Report an issue: GitHub.