Skip to content

Commit 3b1a695

Browse files
Update roadmap_2024.md - with the latest changes and by order the tasks adding what was done at the bottom of the page
1 parent c3a5806 commit 3b1a695

File tree

1 file changed

+83
-78
lines changed

1 file changed

+83
-78
lines changed

roadmap/roadmap_2024.md

Lines changed: 83 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,24 @@
11
# Kubebuilder Project Roadmap 2024
22

3-
### **(Major Release for Kubebuilder CLI 4.x)** Removing Deprecated Plugins for Enhanced Maintainability and User Experience
4-
5-
**Status:** :construction: Work in Progress
6-
- **Remove Deprecations**:https://github.com/kubernetes-sigs/kubebuilder/issues/3603
7-
- **Bump Module**: https://github.com/kubernetes-sigs/kubebuilder/pull/3924
8-
9-
**Objective:** To remove all deprecated plugins from Kubebuilder to improve project maintainability and
10-
enhance user experience. This initiative also includes updating the project documentation to provide clear
11-
and concise information, eliminating any confusion for users. **More Info:** [GitHub Discussion #3622](https://github.com/kubernetes-sigs/kubebuilder/discussions/3622)
12-
13-
**Motivation:** By focusing on removing deprecated plugins—specifically, versions or kinds that can no
14-
longer be supported—we aim to streamline the development process and ensure a higher quality user experience.
15-
Clear and updated documentation will further assist in making development workflows more efficient and less prone to errors.
16-
17-
---
18-
### Proposal Pending: Seeking Feedbacks for kube-rbac-proxy's Role in Default Scaffold
19-
20-
**Status:** :white_check_mark: Complete but Seek Contributors and help with the next steps, see: https://github.com/kubernetes-sigs/kubebuilder/issues/3871
21-
22-
- **Resolution**: The usage of kube-rbac-proxy has been discontinued from the default scaffold. We plan to provide other helpers to protect the metrics endpoint. Furthermore, once the project is accepted under kubernetes-sig or kubernetes-auth, we may contribute to its maintainer in developing an external plugin for use with projects built with Kubebuilder.
23-
- **Proposal**: [https://github.com/kubernetes-sigs/kubebuilder/blob/master/designs/discontinue_usage_of_kube_rbac_proxy.md](https://github.com/kubernetes-sigs/kubebuilder/blob/master/designs/discontinue_usage_of_kube_rbac_proxy.md)
24-
- **PR**: [https://github.com/kubernetes-sigs/kubebuilder/pull/3899](https://github.com/kubernetes-sigs/kubebuilder/pull/3899)
25-
- **Communication**: [https://github.com/kubernetes-sigs/kubebuilder/discussions/3907](https://github.com/kubernetes-sigs/kubebuilder/discussions/3907)
26-
27-
**Objective:** Evaluate potential modifications or the exclusion of [kube-rbac-proxy](https://github.com/brancz/kube-rbac-proxy)
28-
from the default Kubebuilder scaffold in response to deprecations and evolving user requirements.
29-
30-
**Context:** [kube-rbac-proxy](https://github.com/brancz/kube-rbac-proxy) , a key component for securing Kubebuilder-generated projects,
31-
faces significant deprecations that impact automatic certificate generation.
32-
For more insights into these challenges, see [Issue #3524](https://github.com/kubernetes-sigs/kubebuilder/issues/3524).
33-
34-
This situation necessitates a reevaluation of its inclusion and potentially prompts users to
35-
adopt alternatives like cert-manager by default. Additionally, the requirement to manually rebuild
36-
[kube-rbac-proxy images—due](https://github.com/kubernetes-sigs/kubebuilder/blob/master/RELEASE.md#to-build-the-kube-rbac-proxy-images)
37-
to its external status from Kubernetes-SIG—places a considerable maintenance
38-
burden on Kubebuilder maintainers.
39-
40-
**Motivations:**
41-
- Address kube-rbac-proxy breaking changes/deprecations.
42-
- For further information: [Issue #3524 - kube-rbac-proxy warn about deprecation and future breaking changes](https://github.com/kubernetes-sigs/kubebuilder/issues/3524)
43-
- Feedback from the community has highlighted a preference for cert-manager's default integration, aiming security with Prometheus and metrics.
44-
- More info: [GitHub Issue #3524 - Improve scaffolding of ServiceMonitor](https://github.com/kubernetes-sigs/kubebuilder/issues/3657)
45-
- Desire for kube-rbac-proxy to be optional, citing its prescriptive nature.
46-
- See: [Issue #3482 - The kube-rbac-proxy is too opinionated to be opt-out.](https://github.com/kubernetes-sigs/kubebuilder/issues/3482)
47-
- Reduce the maintainability effort to generate the images used by Kubebuilder projects and dependency within third-party solutions.
48-
- Related issues:
49-
- [Issue #1885 - use a NetworkPolicy instead of kube-rbac-proxy](https://github.com/kubernetes-sigs/kubebuilder/issues/1885)
50-
- [Issue #3230 - Migrate away from google.com gcp project kubebuilder](https://github.com/kubernetes-sigs/kubebuilder/issues/3230)
3+
### Updating Scaffolding to Align with the Latest changes of controller-runtime
514

52-
---
53-
### Providing Helpers for Project Distribution
5+
**Status:** :raised_hands: Seeking help from the contributors
546

55-
#### Distribution via Kustomize
7+
**Objective:** Update Kubebuilder's controller scaffolding to align with the latest changes
8+
in controller-runtime, focusing on compatibility and addressing recent updates and deprecations
9+
mainly related to webhooks.
5610

57-
**Status:** :white_check_mark: Complete
11+
**Context:** Kubebuilder's plugin system is designed for stability, yet it depends on controller-runtime,
12+
which is evolving rapidly with versions still under 1.0.0. Notable changes and deprecations,
13+
especially around webhooks, necessitate Kubebuilder's alignment with the latest practices
14+
and functionalities of controller-runtime. We need update the Kubebuilder scaffolding,
15+
samples, and documentation.
5816

59-
- **Resolution**: As of release ([v3.14.0](https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v3.14.0)), Kubebuilder includes enhanced support for project distribution. Users can now scaffold projects with a `build-installer` makefile target. This improvement enables the straightforward deployment of solutions directly to Kubernetes clusters. Users can deploy their projects using commands like:
17+
**References:**
18+
- [Issue - Deprecations in Controller-Runtime and Impact on Webhooks](https://github.com/kubernetes-sigs/kubebuilder/issues/3721) - An issue detailing the deprecations in controller-runtime that affect Kubebuilder's approach to webhooks.
19+
- [PR - Update to Align with Latest Controller-Runtime Webhook Interface](https://github.com/kubernetes-sigs/kubebuilder/pull/3399) - A pull request aimed at updating Kubebuilder to match controller-runtime's latest webhook interface.
20+
- [PR - Enhancements to Controller Scaffolding for Upcoming Controller-Runtime Changes](https://github.com/kubernetes-sigs/kubebuilder/pull/3723) - A pull request proposing enhancements to Kubebuilder's controller scaffolding in anticipation of upcoming changes in controller-runtime.
6021

61-
```shell
62-
kubectl apply -f https://raw.githubusercontent.com/<org>/my-project/<tag or branch>/dist/install.yaml
63-
```
64-
This enhancement streamlines the process of getting Kubebuilder projects running on clusters, providing a seamless deployment experience.
6522

6623
#### (New Optional Plugin) Helm Chart Packaging
6724

@@ -75,37 +32,20 @@ see [GitHub Pull Request #3632](https://github.com/kubernetes-sigs/kubebuilder/p
7532
accessible distribution methods. A Helm chart packaging plugin would simplify the distribution of the solutions
7633
and allow easily integrations with common applications used by administrators.
7734

78-
---
79-
### Updating Scaffolding to Align with the Latest changes of controller-runtime
80-
81-
**Status:** :raised_hands: Seeking help from the contributors
82-
83-
**Objective:** Update Kubebuilder's controller scaffolding to align with the latest changes
84-
in controller-runtime, focusing on compatibility and addressing recent updates and deprecations
85-
mainly related to webhooks.
86-
87-
**Context:** Kubebuilder's plugin system is designed for stability, yet it depends on controller-runtime,
88-
which is evolving rapidly with versions still under 1.0.0. Notable changes and deprecations,
89-
especially around webhooks, necessitate Kubebuilder's alignment with the latest practices
90-
and functionalities of controller-runtime. We need update the Kubebuilder scaffolding,
91-
samples, and documentation.
9235

93-
**References:**
94-
- [Issue - Deprecations in Controller-Runtime and Impact on Webhooks](https://github.com/kubernetes-sigs/kubebuilder/issues/3721) - An issue detailing the deprecations in controller-runtime that affect Kubebuilder's approach to webhooks.
95-
- [PR - Update to Align with Latest Controller-Runtime Webhook Interface](https://github.com/kubernetes-sigs/kubebuilder/pull/3399) - A pull request aimed at updating Kubebuilder to match controller-runtime's latest webhook interface.
96-
- [PR - Enhancements to Controller Scaffolding for Upcoming Controller-Runtime Changes](https://github.com/kubernetes-sigs/kubebuilder/pull/3723) - A pull request proposing enhancements to Kubebuilder's controller scaffolding in anticipation of upcoming changes in controller-runtime.
9736

9837
---
9938
### Transition from Google Cloud Platform (GCP) to build and promote binaries and images
10039

101-
**Status:** :construction: Seeking Feedbacks and Contributions
40+
**Status:**
10241
- **Kubebuilder CLI**: :white_check_mark: Complete. It has been building using go releaser. [More info](./../build/.goreleaser.yml)
10342
- **kube-rbac-proxy Images:** :white_check_mark: Complete. ([More info](https://github.com/kubernetes-sigs/kubebuilder/discussions/3907))
104-
- **EnvTest binaries:** :construction: Controller-Runtime maintainers are working in a solution to build them out and take the ownership over this one. More info:
43+
- **EnvTest binaries:** :white_check_mark: Complete Controller-Runtime maintainers are working in a solution to build them out and take the ownership over this one. More info:
10544
- https://kubernetes.slack.com/archives/C02MRBMN00Z/p1712457941924299
10645
- https://kubernetes.slack.com/archives/CCK68P2Q2/p1713174342482079
10746
- Also, see the PR: https://github.com/kubernetes-sigs/controller-runtime/pull/2811
108-
- **PR Check image:** See that the images used to check the PR titles are also build and promoted by the Kubebuilder project in GCP but are from the project: https://github.com/kubernetes-sigs/kubebuilder-release-tools. The plan in this case is to use the e2e shared infrastructure. [More info](https://github.com/kubernetes/k8s.io/issues/2647#issuecomment-2111182864)
47+
- It will be available from the next release v0.19.
48+
- **PR Check image:** 🙌 Seeking Contributions to do the required changes - See that the images used to check the PR titles are also build and promoted by the Kubebuilder project in GCP but are from the project: https://github.com/kubernetes-sigs/kubebuilder-release-tools. The plan in this case is to use the e2e shared infrastructure. [More info](https://github.com/kubernetes/k8s.io/issues/2647#issuecomment-2111182864)
10949

11050
**Objective:** Shift Kubernetes (k8s) project infrastructure from GCP to shared infrastructures.
11151
Furthermore, move away from the registry `k8s.gcr.io` to `registry.k8s.io`.
@@ -135,3 +75,68 @@ available [here](https://github.com/kubernetes-sigs/kubebuilder/blob/master/RELE
13575

13676
**We encourage the Kubebuilder community to participate in this discussion, offering feedback and contributing ideas
13777
to refine these proposals. Your involvement is crucial in shaping the future of secure and efficient project scaffolding in Kubebuilder.**
78+
79+
---
80+
### Proposal Pending: Seeking Feedbacks for kube-rbac-proxy's Role in Default Scaffold
81+
82+
**Status:** :white_check_mark: Complete but :raised_hands: Seek Contributors and help with the next steps, see: https://github.com/kubernetes-sigs/kubebuilder/issues/3871
83+
84+
- **Resolution**: The usage of kube-rbac-proxy has been discontinued from the default scaffold. We plan to provide other helpers to protect the metrics endpoint. Furthermore, once the project is accepted under kubernetes-sig or kubernetes-auth, we may contribute to its maintainer in developing an external plugin for use with projects built with Kubebuilder.
85+
- **Proposal**: [https://github.com/kubernetes-sigs/kubebuilder/blob/master/designs/discontinue_usage_of_kube_rbac_proxy.md](https://github.com/kubernetes-sigs/kubebuilder/blob/master/designs/discontinue_usage_of_kube_rbac_proxy.md)
86+
- **PR**: [https://github.com/kubernetes-sigs/kubebuilder/pull/3899](https://github.com/kubernetes-sigs/kubebuilder/pull/3899)
87+
- **Communication**: [https://github.com/kubernetes-sigs/kubebuilder/discussions/3907](https://github.com/kubernetes-sigs/kubebuilder/discussions/3907)
88+
89+
**Objective:** Evaluate potential modifications or the exclusion of [kube-rbac-proxy](https://github.com/brancz/kube-rbac-proxy)
90+
from the default Kubebuilder scaffold in response to deprecations and evolving user requirements.
91+
92+
**Context:** [kube-rbac-proxy](https://github.com/brancz/kube-rbac-proxy) , a key component for securing Kubebuilder-generated projects,
93+
faces significant deprecations that impact automatic certificate generation.
94+
For more insights into these challenges, see [Issue #3524](https://github.com/kubernetes-sigs/kubebuilder/issues/3524).
95+
96+
This situation necessitates a reevaluation of its inclusion and potentially prompts users to
97+
adopt alternatives like cert-manager by default. Additionally, the requirement to manually rebuild
98+
[kube-rbac-proxy images—due](https://github.com/kubernetes-sigs/kubebuilder/blob/master/RELEASE.md#to-build-the-kube-rbac-proxy-images)
99+
to its external status from Kubernetes-SIG—places a considerable maintenance
100+
burden on Kubebuilder maintainers.
101+
102+
**Motivations:**
103+
- Address kube-rbac-proxy breaking changes/deprecations.
104+
- For further information: [Issue #3524 - kube-rbac-proxy warn about deprecation and future breaking changes](https://github.com/kubernetes-sigs/kubebuilder/issues/3524)
105+
- Feedback from the community has highlighted a preference for cert-manager's default integration, aiming security with Prometheus and metrics.
106+
- More info: [GitHub Issue #3524 - Improve scaffolding of ServiceMonitor](https://github.com/kubernetes-sigs/kubebuilder/issues/3657)
107+
- Desire for kube-rbac-proxy to be optional, citing its prescriptive nature.
108+
- See: [Issue #3482 - The kube-rbac-proxy is too opinionated to be opt-out.](https://github.com/kubernetes-sigs/kubebuilder/issues/3482)
109+
- Reduce the maintainability effort to generate the images used by Kubebuilder projects and dependency within third-party solutions.
110+
- Related issues:
111+
- [Issue #1885 - use a NetworkPolicy instead of kube-rbac-proxy](https://github.com/kubernetes-sigs/kubebuilder/issues/1885)
112+
- [Issue #3230 - Migrate away from google.com gcp project kubebuilder](https://github.com/kubernetes-sigs/kubebuilder/issues/3230)
113+
114+
---
115+
### Providing Helpers for Project Distribution
116+
117+
#### Distribution via Kustomize
118+
119+
**Status:** :white_check_mark: Complete
120+
121+
- **Resolution**: As of release ([v3.14.0](https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v3.14.0)), Kubebuilder includes enhanced support for project distribution. Users can now scaffold projects with a `build-installer` makefile target. This improvement enables the straightforward deployment of solutions directly to Kubernetes clusters. Users can deploy their projects using commands like:
122+
123+
```shell
124+
kubectl apply -f https://raw.githubusercontent.com/<org>/my-project/<tag or branch>/dist/install.yaml
125+
```
126+
This enhancement streamlines the process of getting Kubebuilder projects running on clusters, providing a seamless deployment experience.
127+
128+
---
129+
### **(Major Release for Kubebuilder CLI 4.x)** Removing Deprecated Plugins for Enhanced Maintainability and User Experience
130+
131+
**Status:** : ✅ Complete - Release was done
132+
- **Remove Deprecations**:https://github.com/kubernetes-sigs/kubebuilder/issues/3603
133+
- **Bump Module**: https://github.com/kubernetes-sigs/kubebuilder/pull/3924
134+
135+
**Objective:** To remove all deprecated plugins from Kubebuilder to improve project maintainability and
136+
enhance user experience. This initiative also includes updating the project documentation to provide clear
137+
and concise information, eliminating any confusion for users. **More Info:** [GitHub Discussion #3622](https://github.com/kubernetes-sigs/kubebuilder/discussions/3622)
138+
139+
**Motivation:** By focusing on removing deprecated plugins—specifically, versions or kinds that can no
140+
longer be supported—we aim to streamline the development process and ensure a higher quality user experience.
141+
Clear and updated documentation will further assist in making development workflows more efficient and less prone to errors.
142+

0 commit comments

Comments
 (0)