How are you distributing the projects built with Kubuilder? #3081
-
Would be great to know how the Kubebuilder community has been distributing their solutions built with the tool. Therefore, could you let us know:
|
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 7 replies
-
Related topic (if you are doing that with helm-charts let us know:): #3074 |
Beta Was this translation helpful? Give feedback.
-
For developing or testing, I use For production, I used to observe the diff before apply: kustomize build config/default | kubectl diff -f - | diff-so-fancy |
Beta Was this translation helpful? Give feedback.
-
For local development, we use the
We're not using helm-charts to deploy, but pure kustomize. But the rest of our ecosystem is moving towards usage of |
Beta Was this translation helpful? Give feedback.
-
We use helm charts, but we're looking to move over to kustomize for better integration with kubebuilder/operator-sdk (we currently create our helm charts based on a template and manually maintain it, with a few hacks here and there to copy stuff over from So yeah, basically publish a chart from within the operator's repo and consume this chart from a separate repo that manages deployment configuration for different environments, etc. |
Beta Was this translation helpful? Give feedback.
-
Our team did away with the Kustomize scaffolds and maintains a custom Helm chart based on the scaffolds. We updated our Makefile such that manifests, etc are generated into the proper directories and patched such that they're valid Helm templates. We then package up the Helm chart and publish it to an internal repository. I'd love to see a community maintained Kubebuilder plugin for outputting a Helm chart instead of Kustomize scaffolds. As an aside, I've been meaning to look into OLM |
Beta Was this translation helpful? Give feedback.
-
A supported helm chart solution would work wonders for large teams that are already integrating heavily with existing helm charts for deployments like argocd and rancher. Allowing custom operators to easily fit into the existing pattern. |
Beta Was this translation helpful? Give feedback.
-
I added the same content in the other thread, so I will add here: Hi @robbie-demuth, @Jay-Madden, @LCaparelli, 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. 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.
-
As an OCI artifact using helm
Helm plugin for kubebuilder? To add more context: in my $work we only use annotations for CRD generation/validation, we do not use kubebuilder rbac markers that add permissions to clusterrole, because we found it's easier to just add it manually to that 1 file than to learn the syntax of those markers |
Beta Was this translation helpful? Give feedback.
-
I think we can close this one. Also, we can try to provide an option where all YAML files will be generated, and users could only run kubectl apply -f to get the solution. This work started to be done in the PR: #3626 |
Beta Was this translation helpful? Give feedback.
I think we can close this one.
It seems that is well desired to use Helm to distribute the projects and we have been working on a proposal to help users with: #3632
Also, we can try to provide an option where all YAML files will be generated, and users could only run kubectl apply -f to get the solution. This work started to be done in the PR: #3626