-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Allow disabling the manifests generation for K8s/OpenShift/Knative #34416
Conversation
This comment has been minimized.
This comment has been minimized.
I tend to think that there should be only one switch for all the flavors to keep things simple but also because I tend to think that if you're not interested in generating manifests, you probably don't care about generating manifests for any flavors. |
There is something you mentioned that I agree with you: if you use the Quarkus Kubernetes extension to generate the Kubernetes, Knative and Openshift manifests (this is controlled by the deployment target property), then you should enable/disable the generation of these properties using the same 'quarkus.kubernetes.enabled' property. I will update the pull request tomorrow morning. Other thing is when you use the Quarkus Openshift extension, then you should be able to enable/disable the Openshift manifests using 'quarkus.openshift.enabled' property. |
That's a good point. Maybe the switch should be named differently altogether, like |
To me, it makes sense to separately enable/disable the generated resources by extension (kubernetes, knative, openshift, ...). We could disable the manifests generation for Kubernetes, but not for OpenShift for example. Fix quarkusio#34094
I would like to avoid adding a new extra property (apart from the
I've just updated the pull request. Now, the
Note that when #34025 is done, the OpenShift properties will default to the Kubernetes properties, so you will ultimately get the desired behavior you were expecting at. |
✔️ The latest workflow run for the pull request has completed successfully. It should be safe to merge provided you have a look at the other checks in the summary. |
As discussed in @metacosm PR on diabling manifest generation and on chat. I favor the approach of completely disabling the @buildsteps of the processor with the the use of Even if the processors do check a config property and exit right away, they still request the build items, like ports, rbac, jobs, decorators and pretty much everything declared under the kubenretes SPI, influencing the order of execution. Does it make a huge difference? Maybe not performance wise, but does make a huge difference maintainance wise.
We shouldn't have to worry about such issues. Everything should be cleanly disabled and no buildstep related to kubernetes should run directly or indirectly. Last but not least this (disabling the buildsteps) is a pattern we already use and I don't see why we should do something else here, especially since we've already discussed it. Last regarding the dileme on wether we should disalbe things globally, per extension or per deployment target, the answer is definitely globally. Everything else is too hard to explain to the user and may possibly have sideeffects. Users that need to have fine grained control over what's generated can use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added comment above
I was unaware we could use the config objects in
I can't entirely agree with this since from my point of view all the extensions that have their own configuration should be independent of each other (mainly speaking about openshift, and kubernetes). Since we again see things differently, I'm closing this in favor of what you and the rest of the Quarkus team agree with. |
We already have global options in the kubernetes configuration (see |
@Sgitario: Maybe written speech does not really help in this case, but this reads to me as something written by someone upset. I can almost hear the door slamming behind your back. 😄 My intention was not to irritate you, and apologies if in anyway I did. So, please let me ellaborate on my comment (hoping that understanding my POV will smooth things out): There are three ways of approaching this:
The problem with the
So, we end up with a case that is not really obvious. Regardless of the behavior we choose for So, please don't get upset, we both want the same thing (the best user experience possible) we just have different perspectives. |
haha, not at all. But in the end, when there are different views, it's your call (I don't mean you directly, but also the rest of the Quarkus team) to proceed with what you think it's for the better.
I completely agree with the last statement This is slightly different when using the |
@Sgitario: but what would happen if the property above is used with |
To me, it makes sense to separately enable/disable the generated resources by extension (kubernetes, knative, openshift, ...). We could disable the manifests generation for Kubernetes, but not for OpenShift for example.
Fix #34094