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

[Assessment and POC] - Integrate Server-Side-Apply Support in Kubebuilder via Controller-Tools and Code-Generator Enhancements #3692

Open
camilamacedo86 opened this issue Nov 12, 2023 · 0 comments
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@camilamacedo86
Copy link
Member

camilamacedo86 commented Nov 12, 2023

What do you want to happen?

Background:

  • Kubebuilder currently depends on controller-tools, which lacks server-side-apply support.
  • Consequently, Kubebuilder also does not support server-side-apply.
  • An open PR in controller-runtime (#536) aims to introduce this support.
  • Alternative approach suggested: using kubernetes/code-generator as seen in PR #818 in controller-tools.
  • Discussions in the Kubernetes Slack channel (link to thread) highlight the need for changes in Kubebuilder's default scaffold for compatibility with applyconfiguration-gen.

Proposed Changes:

  1. Move +groupName from groupversion_info.go to doc.go:
  2. Rename GroupVersion to SchemeGroupVersion in groupversion_info.go.

Detailed steps/tasks:

  • a) Analyze how groupName is used in controller-tools. see here
  • b) Assess the feasibility of moving groupName to doc.go.
  • c) Ensure controller tools and related components remain functional after changes.
  • d) Evaluate if changing the default scaffold could introduce breaking changes for existing projects.
  • e) Confirm the necessity of changes for compatibility with /applyconfiguration-gen.
  • f) Investigate additional requirements for Kubebuilder scaffold to work with applyconfiguration-gen, including Makefile configurations (reference PR).

Acceptance Criteria:

  • Detailed analysis and feasibility report on the proposed changes and comment on this issue with a summary of its findings.
  • A PR against kubebuilder with the proposed changes as well as any other one identified as required to support applyconfiguration-gen so that we can check if it will break or not the current project.
  • A PR against kubebuilder adding applyconfiguration-gen in the Makefile and using it in the e2e tests with those changes so that we can verify it working with applyconfiguration-gen. We can just copy and paste the go/v4 tests and create a new one with this proposal.

The above result will allow us to talk about it and see if we can move forward indeed with the PRs and with the changes proposed now or just in the future.

c/c @erikgb @JoelSpeed @varshaprasad96

Extra Labels

No response

@camilamacedo86 camilamacedo86 added kind/feature Categorizes issue or PR as related to a new feature. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. labels Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

1 participant