-
Notifications
You must be signed in to change notification settings - Fork 345
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
Global operator mode on Minikube not working #1766
Comments
@christophd My understanding is that it is the expected behaviour. When installing the operator globally, no default IntegrationPlatform is created, as there are expected to be created manually in the namespaces in which Camel K integrations should run. |
I'm sure I did some changes before Christmas holiday (1.3) but I'm not sure if I merged them... Or probably I hit too many issues trying to automate all things. Specifically on Minikube the kamel CLI is able to detect the presence of the registry and its address, while the operator is not. So when installing globally, the CLI should create a kinda "template integration platform" in the global namespace, that then should be used to generate other namespaced integrationplatforms in the specific namespaces. An alternative (and better) solution would be to have a single platform in the operator namespace... But now there are too many ways the operator can panic because presence of an integration platform is always assumed true... So I was thinking to instruct I'm still not sure which solution is best... |
Right, it's worth thinking about it more, also in the context of #1799. To keep complexity under control, maybe it's better to design a generic solution, not specific to Minikube. I was just trying to clean the issue tracking a bit, not opening the pandora box :) |
Yeah, in the general case, I would like to setup things like registry and credentials once upon installation, then just use Camel K in any ns. But I guess this mechanism needs a big code cleanup in order to work. |
Maybe we can move the creation of the IntegrationPlatform operator-side, instead of CLI-side, so that the operator can decide what to do when there isn't any found. For registry auto-configuration, we can grant the operator whatever permission is required, for example to handle auto-configuration with Minikube registry addon, that would be : ca_role.yaml:
ca_role_binding.yaml:
The only issue I see is with OLM packaging, as it's not possible to describe RoleBinding of ClusterRole in the CSV, and it does not seem like these are supported types that can be added as optional resources in the OLM bundle Also in the future context of #1802, the operator would be able to read the |
Yeah, that would solve the cases when auto-creation is possible, so we can remove the special cases for minikube and also support e.g. Kind oob. Currently only on OpenShift we're able to auto-create platforms via the platform trait. But I think there are many cases, e.g. Kubernetes on GKE, Azure, AWS.. where there's need for user input and the CLI is the main way to inject those into an integration platform at installation time. |
Exactly. That would move the logic into a single place, and solve that particular issue.
I'm not sure how the auto-configuration case and the user-provided case intersect. I would rather see the later leveraging the former, or just orthogonal. |
This issue has been automatically marked as stale due to 90 days of inactivity. |
Integrations get stuck in phase
Waiting For Platform
Camel-K version: 1.2.0-SNAPSHOT
Steps to reproduce:
kube-operators
kamel install --global -n kube-operators
kamel run helloworld.groovy
Integration is created and has following events:
Operator logs:
The text was updated successfully, but these errors were encountered: