diff --git a/pkg/action/action.go b/pkg/action/action.go index bcf6ca8ef..a5a829f93 100644 --- a/pkg/action/action.go +++ b/pkg/action/action.go @@ -281,7 +281,7 @@ func (cfg *Configuration) renderResources(ch *chart.Chart, values common.Values, if strings.TrimSpace(content) == "" { continue } - fmt.Fprintf(b, "---\n# Source: %s\n%s\n", name, content) + fmt.Fprintf(b, "---\n# Source: %s\n%s\n", filepath.ToSlash(name), content) } return hs, b, "", err } @@ -292,7 +292,7 @@ func (cfg *Configuration) renderResources(ch *chart.Chart, values common.Values, if includeCrds { for _, crd := range ch.CRDObjects() { if outputDir == "" { - fmt.Fprintf(b, "---\n# Source: %s\n%s\n", crd.Filename, string(crd.File.Data[:])) + fmt.Fprintf(b, "---\n# Source: %s\n%s\n", filepath.ToSlash(crd.Filename), string(crd.File.Data[:])) } else { err = writeToFile(outputDir, crd.Filename, string(crd.File.Data[:]), fileWritten[crd.Filename]) if err != nil { @@ -308,7 +308,7 @@ func (cfg *Configuration) renderResources(ch *chart.Chart, values common.Values, if hideSecret && m.Head.Kind == "Secret" && m.Head.Version == "v1" { fmt.Fprintf(b, "---\n# Source: %s\n# HIDDEN: The Secret output has been suppressed\n", m.Name) } else { - fmt.Fprintf(b, "---\n# Source: %s\n%s\n", m.Name, m.Content) + fmt.Fprintf(b, "---\n# Source: %s\n%s\n", filepath.ToSlash(m.Name), m.Content) } } else { newDir := outputDir diff --git a/pkg/action/install.go b/pkg/action/install.go index 79acc8c7d..51a7fb2db 100644 --- a/pkg/action/install.go +++ b/pkg/action/install.go @@ -657,7 +657,8 @@ func writeToFile(outputDir string, name string, data string, appendData bool) er defer f.Close() - _, err = fmt.Fprintf(f, "---\n# Source: %s\n%s\n", name, data) + // Use consistent (POSIX) filepaths in comments, even if expanded on Windows. + _, err = fmt.Fprintf(f, "---\n# Source: %s\n%s\n", filepath.ToSlash(name), data) if err != nil { return err diff --git a/pkg/cmd/get_hooks.go b/pkg/cmd/get_hooks.go index 7ffefd93c..a102410b0 100644 --- a/pkg/cmd/get_hooks.go +++ b/pkg/cmd/get_hooks.go @@ -20,6 +20,7 @@ import ( "fmt" "io" "log" + "path/filepath" "github.com/spf13/cobra" @@ -53,7 +54,7 @@ func newGetHooksCmd(cfg *action.Configuration, out io.Writer) *cobra.Command { return err } for _, hook := range res.Hooks { - fmt.Fprintf(out, "---\n# Source: %s\n%s\n", hook.Path, hook.Manifest) + fmt.Fprintf(out, "---\n# Source: %s\n%s\n", filepath.ToSlash(hook.Path), hook.Manifest) } return nil }, diff --git a/pkg/cmd/status.go b/pkg/cmd/status.go index 3d1309c3e..619557ee9 100644 --- a/pkg/cmd/status.go +++ b/pkg/cmd/status.go @@ -21,6 +21,7 @@ import ( "fmt" "io" "log" + "path/filepath" "strings" "time" @@ -214,7 +215,7 @@ func (s statusPrinter) WriteTable(out io.Writer) error { if strings.EqualFold(s.release.Info.Description, "Dry run complete") || s.debug { _, _ = fmt.Fprintln(out, "HOOKS:") for _, h := range s.release.Hooks { - _, _ = fmt.Fprintf(out, "---\n# Source: %s\n%s\n", h.Path, h.Manifest) + _, _ = fmt.Fprintf(out, "---\n# Source: %s\n%s\n", filepath.ToSlash(h.Path), h.Manifest) } _, _ = fmt.Fprintf(out, "MANIFEST:\n%s\n", s.release.Manifest) } diff --git a/pkg/cmd/template.go b/pkg/cmd/template.go index 59c24f39e..2ea6bd51f 100644 --- a/pkg/cmd/template.go +++ b/pkg/cmd/template.go @@ -115,7 +115,7 @@ func newTemplateCmd(cfg *action.Configuration, out io.Writer) *cobra.Command { continue } if client.OutputDir == "" { - fmt.Fprintf(&manifests, "---\n# Source: %s\n%s\n", m.Path, m.Manifest) + fmt.Fprintf(&manifests, "---\n# Source: %s\n%s\n", filepath.ToSlash(m.Path), m.Manifest) } else { newDir := client.OutputDir if client.UseReleaseName { @@ -231,7 +231,7 @@ func writeToFile(outputDir string, name string, data string, appendData bool) er defer f.Close() - _, err = fmt.Fprintf(f, "---\n# Source: %s\n%s\n", name, data) + _, err = fmt.Fprintf(f, "---\n# Source: %s\n%s\n", filepath.ToSlash(name), data) if err != nil { return err