Skip to content

Commit e25aec4

Browse files
authored
Merge pull request #4316 from camilamacedo86/roadmap-2025
📖 (doc): Add "Kubebuilder Project Roadmap 2025"
2 parents b56ccad + 703ad9e commit e25aec4

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed

roadmap/roadmap_2025.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Kubebuilder Project Roadmap 2025
2+
3+
## Ensure Webhook Implementation Stability and Enhance User Experience
4+
5+
**Status:** WIP
6+
7+
### Objective
8+
Enhance the webhooks implementation and user experience.
9+
10+
### Context
11+
The current implementations for webhook conversion and defaulting are stable and tested through basic end-to-end (E2E) workflows.
12+
However, webhook conversion is incomplete, and several bugs need to be addressed. Additionally, the user experience
13+
is hindered by limitations such as the inability to add additional webhooks for same API without using the force flag
14+
and losing their existing customizations on top.
15+
16+
### Goals and Needs
17+
- **CA Injection**: Ensure that CA injection for conversion webhooks is limited to the relevant Custom Resource (CR) conversions.
18+
- [GitHub Issue](https://github.com/kubernetes-sigs/kubebuilder/issues/4285)
19+
- [Pull Request](https://github.com/kubernetes-sigs/kubebuilder/pull/4282)
20+
21+
- **Scaffolding Multiple Webhooks**: Allow adding additional webhooks without requiring forced re-scaffolding.
22+
- [GitHub Issue](https://github.com/kubernetes-sigs/kubebuilder/issues/4146)
23+
24+
- **Hub and Spoke Model**: Integrate a hub-and-spoke model for conversion webhooks to streamline implementation.
25+
- [GitHub Issue](https://github.com/kubernetes-sigs/kubebuilder/issues/2589)
26+
- [Pull Request](https://github.com/kubernetes-sigs/kubebuilder/pull/4254)
27+
28+
- **Comprehensive E2E Testing**: Expand end-to-end tests for conversion webhooks to validate not only CA injection but also the conversion process itself.
29+
30+
- **E2E Test Scaffolding**: Improve the E2E test scaffolds under `test/e2e` to validate conversion behavior beyond CA injection for conversion webhooks.
31+
32+
- **Enhanced Multiversion Tutorial**: Add E2E tests for conversion webhooks in the multiversion tutorial to support comprehensive user guidance.
33+
34+
---
35+
# Roadmap Document
36+
37+
## Enhance the Helm Chart Plugin
38+
39+
**Status:** WIP
40+
41+
### Context
42+
A new plugin to help users scaffold a Helm chart to distribute their solutions is implemented as an experimental
43+
feature on the `master` branch and is currently under development. It's initial version will be released in
44+
the next major version of Kubebuilder.
45+
46+
### Objective
47+
The objective of this effort is to ensure that the Helm chart plugin addresses user needs effectively while
48+
providing a seamless and intuitive experience.
49+
50+
### Goals
51+
- Prevent exposure of webhooks data in the Helm chart values.
52+
- Determine whether and how to include sample files and CR configurations in the Helm chart.
53+
- Enable users to specify the path where the Helm chart will be scaffolded.
54+
55+
### References
56+
- [Milestone Helm](https://github.com/kubernetes-sigs/kubebuilder/milestone/39)
57+
- [Code Implementation](https://github.com/kubernetes-sigs/kubebuilder/tree/master/pkg/plugins/optional/helm)
58+
- [Sample Under Testdata](https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata/project-v4-with-plugins/dist/chart)
59+
60+
---
61+
62+
## Align Tutorials and Samples with Best Practices Proposed by DeployImage Plugin
63+
64+
**Status:** WIP
65+
66+
### Context
67+
The existing tutorials lack consistency with best practices and the layout proposed by the DeployImage plugin.
68+
69+
### Objective
70+
Align tutorials and sample projects with best practices to improve quality and usability.
71+
72+
### Goals
73+
- **Controller Logic Consistency**: Standardize tutorial controller logic to match the DeployImage plugin’s scaffolded controller, including conditions, finalizers, and status updates.
74+
75+
- **Conditional Status in CronJob Spec**: Incorporate conditional status handling in the CronJob spec to reflect best practices.
76+
77+
- **Test Logic Consistency**: Ensure tutorial test logic mirrors the tests scaffolded by the DeployImage plugin, adapting as needed for specific cases.
78+
79+
---
80+
81+
## Provide Solutions to Keep Users Updated with the Latest Changes
82+
83+
**Status:** Proposal in WIP
84+
[GitHub Proposal](https://github.com/kubernetes-sigs/kubebuilder/pull/4302)
85+
86+
### Context
87+
Kubebuilder currently offers a "Help to Upgrade" feature via the `kubebuilder alpha generate` command, but applying updates requires significant manual effort.
88+
89+
### Objective
90+
Develop an opt-in mechanism to notify users and automate updates, reducing manual effort and ensuring alignment with the latest Kubebuilder versions.
91+
92+
### Goals
93+
- Facilitate keeping repositories updated with minimal manual intervention.
94+
- Provide automated notifications and updates inspired by Dependabot.
95+
- Maintain compatibility with new Kubebuilder features, best practices, and bug fixes.
96+
97+
---

0 commit comments

Comments
 (0)