-
Hi, there, is there a good solution/tool to create a new |
Beta Was this translation helpful? Give feedback.
Replies: 10 comments 20 replies
-
Thanks @camilamacedo86. In case anyone else has a similar problem, you can use this helmify tool to convert a |
Beta Was this translation helpful? Give feedback.
-
hi, on our side we’re using https://github.com/arttor/helmify to generate 2 charts from the kustomize config: 1 for the CRDs, and 1 for the operator. it works pretty well, even if that makes the workflow more complex than it should... in bases:
#- ../crd # don't render CRDs by default, because we want to manage them in a specific Helm chart
- ../rbac
- ../manager
- ../webhook
- ../certmanager and then we’re running the following commands: $ go run sigs.k8s.io/kustomize/kustomize/v4 build config/default | go run github.com/arttor/helmify/cmd/helmify config/helm-charts/your-operator
$ go run sigs.k8s.io/kustomize/kustomize/v4 build config/crd | go run github.com/arttor/helmify/cmd/helmify config/helm-charts/your-operator-crd |
Beta Was this translation helpful? Give feedback.
-
We currently create our helm charts based on an internal template and manually maintain it, with a few hacks here and there to copy stuff over from |
Beta Was this translation helpful? Give feedback.
-
An officially supported helm scaffold option in place of kustomize would be very cool, especially for those of us with needs to deploy to multiple unknown envs |
Beta Was this translation helpful? Give feedback.
-
Hi @dashanji, @Jay-Madden, @LCaparelli, @vbehar, Firstly, I appreciate the insights you've shared regarding the use of Helm charts for distributing Operators. I'm aiming to understand the core need for this approach. Looking at successful projects like prometheus-operator, they've opted for a different distribution method. Here's a potential alternative solution:
My question is: wouldn't the above approach meet your distribution needs? If Kubebuilder could generate such a consolidated YAML and host it on GitHub, users could simply apply it as: kubectl apply -f https://raw.githubusercontent.com/myorg/myproject/master/deploy/install.yaml So, if kubebuilder project the content for the install.yaml with all config for you just have it your repo would not the need to be addressed? It seems a majority of the solutions revolve around converting Kustomize manifests to Helm charts. While tools like helmify are handy, I'm wondering if the complexity they introduce is a necessity. Especially if the alternative method mentioned above can achieve the same outcome. I'm keen to understand any specific advantages Helm offers in this context, or if there are limitations or challenges with the proposed approach. Your feedback will be invaluable! |
Beta Was this translation helpful? Give feedback.
-
Hi, @camilamacedo86, thanks for the detail about the newest progress. Actually, what we want just is a way/tool that can generate diverse distributions such as kustomize manifests, helm charts, and so on. As for the new feature, if I understand correctly, it bundles the kustomize directory into one YAML so that users can apply it from an URL. It looks like the The advantage of Helm over Kustomize is that it can control the specific fields and which resources are created, i,e, sometimes I need to specify the Also, the operator depends on the |
Beta Was this translation helpful? Give feedback.
-
Hi @dashanji, @Jay-Madden, @LCaparelli, @vbehar, I'm contemplating the possibility of creating a proposal for an alpha command in kubebuilder to address the need to generate a helm chart from the scaffold builds with Kuebuilder. I believe it's worth opening up a discussion on this. However, before moving forward, it's imperative that we articulate all the reasons for introducing such a command. It's essential to delve deep into the genuine scenarios and needs, as there might be alternative solutions available. While I can't guarantee its acceptance into kubebuilder or promise my endorsement at this stage, I believe that the initial step should be to craft a well-thought-out proposal. This document should lucidly detail our motivations and rationale. This will provide a solid base for discussion and enable input from other members of the community. From there, we can further refine our approach, consider additional alternatives, and possibly discover further improvements. For reference on how to structure our proposal, here's the template: Kubebuilder Design Proposal Template. PLease, feel free to try to push a PR for we further discuss it. Feel free to adjust it further based on your specific needs or context! |
Beta Was this translation helpful? Give feedback.
-
Hello @dashanji, @Jay-Madden, @LCaparelli, @vbehar, Following our discussions and the valuable inputs received, I've identified some key motivations for integrating the feature:
Considering the aforementioned, here are the proposed next steps:
Command-Based ApproachThe command should accept as input:
Thus, by executing a command like: kubebuilder alpha generate-helm-chart --from=<path> --output=<path> If Plugin-Based ApproachThis implies that commands such as: kubebuilder init --plugins=helmchart/v1alpha or kubebuilder edit --plugins=helmchart/v1alpha can be executed, resulting in the necessary scaffolding for Helm. To decide on the optimal approach, it's essential to understand the Helm chart's structure and layout. Based on that, we can determine if a command or plugin approach is more suitable, weighing the pros and cons of each. My current inclination is towards plugins, given the existing structure, but we should evaluate and decide on the most efficient solution. Therefore, IMO the proposal must have in the details for implementation the description/definition of the Helm-Chart layout. How should be the layout of the HelmChart, if any of you start that and be able to add the motivations and etc. how should be the result (HelmChart) I can contribute with this part regards how to get it implemented in the Kubebuilder. Thank you for your consideration, and I look forward to your feedback! |
Beta Was this translation helpful? Give feedback.
-
Hi, @camilamacedo86, @Jay-Madden, @LCaparelli, @vbehar. I just submitted a PR #3632 that describes the layout information of the helm chart in my mind. Welcome any comments. Thanks. |
Beta Was this translation helpful? Give feedback.
-
We want to create a plugin that will generate the scaffold to package the operator using helm So, I think we can close this one |
Beta Was this translation helpful? Give feedback.
Hi, @camilamacedo86, @Jay-Madden, @LCaparelli, @vbehar. I just submitted a PR #3632 that describes the layout information of the helm chart in my mind. Welcome any comments. Thanks.