Skip to content

yaml.v3 fork maintenance story #4033

@natasha41575

Description

@natasha41575

Background

Upgrading go-yaml causes a breaking indentation change for kustomize. The details are described in this comment. To remedy this issue, we added a PR to go-yaml in the hopes that it would be accepted in time for the k/k code freeze (July 8, 2021). There was no response for the go-yaml maintainer, so we forked the go-yaml library under kyaml/internal to use the old indentation: link to forking PR. This fork will also integrated into kubernetes via kustomize-in-kubectl.

Maintenance

There is a script that will allow us to pull in new commits from yaml.v3 when needed. If there are urgent security fixes in yaml.v3 upstream, we will need to prioritize pulling those commits in and back-porting them into kustomize release branches. We will need to ensure that the security fixes are pulled into the fork integrated in k/k.

Future

Whenever the sequence indentation style is made configurable in yaml.v3 upstream, we need to upgrade to the newest version of yaml.v3 and remove the internal fork.

See instructions at https://github.com/kubernetes-sigs/kustomize/blob/master/kyaml/internal/forked/update-go-yaml.sh

The following issues need to be resolved upstream:
go-yaml/yaml#755
go-yaml/yaml#720

Metadata

Metadata

Assignees

Labels

area/yaml-upstreamIssues root caused to gopkg.in/yamlkind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions