Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

yaml.v3 fork maintenance story #4033

Closed
natasha41575 opened this issue Jul 2, 2021 · 5 comments
Closed

yaml.v3 fork maintenance story #4033

natasha41575 opened this issue Jul 2, 2021 · 5 comments
Assignees
Labels
area/yaml-upstream Issues root caused to gopkg.in/yaml kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@natasha41575
Copy link
Contributor

natasha41575 commented Jul 2, 2021

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

@natasha41575 natasha41575 added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. triage/accepted Indicates an issue or PR is ready to be actively worked on. labels Jul 2, 2021
@KnVerey
Copy link
Contributor

KnVerey commented Sep 29, 2021

We've sent a reminder ping on our PR today. If we end up carrying the internal fork past the current k/k release, we should reconsider our options, such as approaching API Machinery about a permanent fork, or maybe supporting/leveraging the effort to have kubernetes-sigs/yaml use v3 (kubernetes-sigs/yaml#61 mentions a KEP for v2 of that lib).

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 28, 2021
@natasha41575
Copy link
Contributor Author

/remove-lifecycle stale
/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Dec 30, 2021
@KnVerey KnVerey added the area/yaml-upstream Issues root caused to gopkg.in/yaml label Jul 7, 2022
@natasha41575 natasha41575 self-assigned this Apr 11, 2023
@natasha41575 natasha41575 removed their assignment Aug 21, 2023
@natasha41575 natasha41575 self-assigned this Sep 1, 2023
@natasha41575 natasha41575 moved this from Todo to In Progress in Kustomize Core Usability Bugs Sep 1, 2023
@natasha41575
Copy link
Contributor Author

Jordan has pinged me on the go-yaml fork PR, so I'm going to try to wrap it up soon.

@natasha41575
Copy link
Contributor Author

go-yaml fork is created and we have removed our internal fork!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/yaml-upstream Issues root caused to gopkg.in/yaml kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Development

No branches or pull requests

4 participants