diff --git a/kyaml/comments/comments.go b/kyaml/comments/comments.go index 127391525..9d6dc22dc 100644 --- a/kyaml/comments/comments.go +++ b/kyaml/comments/comments.go @@ -30,7 +30,16 @@ func (c *copier) VisitMap(s walk.Sources, _ *openapi.ResourceSchema) (*yaml.RNod } func (c *copier) VisitScalar(s walk.Sources, _ *openapi.ResourceSchema) (*yaml.RNode, error) { - copy(s.Dest(), s.Origin()) + to := s.Origin() + // TODO: File a bug with upstream yaml to handle comments for FoldedStyle scalar nodes + // Hack: convert FoldedStyle scalar node to DoubleQuotedStyle as the line comments are + // being serialized without space + // https://github.com/GoogleContainerTools/kpt/issues/766 + if to != nil && to.Document().Style == yaml.FoldedStyle { + to.Document().Style = yaml.DoubleQuotedStyle + } + + copy(s.Dest(), to) return s.Dest(), nil } diff --git a/kyaml/comments/comments_test.go b/kyaml/comments/comments_test.go index 35674b2bc..5238e8754 100644 --- a/kyaml/comments/comments_test.go +++ b/kyaml/comments/comments_test.go @@ -286,6 +286,29 @@ apiVersion: apps/v1 kind: Deployment items: - a # comment +`, + }, + + { + name: "copy_comments_folded_style", + from: ` +apiVersion: v1 +kind: ConfigMap +data: + somekey: "012345678901234567890123456789012345678901234567890123456789012345678901234" # x +`, + to: ` +apiVersion: v1 +kind: ConfigMap +data: + somekey: >- + 012345678901234567890123456789012345678901234567890123456789012345678901234 +`, + expected: ` +apiVersion: v1 +kind: ConfigMap +data: + somekey: "012345678901234567890123456789012345678901234567890123456789012345678901234" # x `, }, }