-
Notifications
You must be signed in to change notification settings - Fork 2.4k
yaml.v3 fork maintenance story #4033
Copy link
Copy link
Closed
Labels
area/yaml-upstreamIssues root caused to gopkg.in/yamlIssues root caused to gopkg.in/yamlkind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.Categorizes 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.Indicates 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.Indicates an issue or PR is ready to be actively worked on.
Metadata
Metadata
Assignees
Labels
area/yaml-upstreamIssues root caused to gopkg.in/yamlIssues root caused to gopkg.in/yamlkind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.Categorizes 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.Indicates 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.Indicates an issue or PR is ready to be actively worked on.
Type
Projects
Status
Done
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