nicolaferraro opened a new pull request #2058: URL: https://github.com/apache/camel-k/pull/2058
<!-- Description --> Fix #1799 This is the best strategy I could think about, and it comes with no copies or redundant information. Basically, the behavior of Camel K is now the following when running an integration with a global operator in another namespace: - If there's an integrationplatform in the local integration namespace, then Camel K behaves as today - If there's no integrationplatform in the local integration namespace, then the operator looks for an integrationplatform in the operator namespace (or it creates one when possible, i.e. OpenShift currently) and all the hard work (like checking kits and building images) is done in the global operator namespace In the new context, when I run an integration, tipically I have: - Integration in the user namespace - IntegrationKit in the **operator namespace** - Build in the **operator namespace** - CamelCatalog in the **operator namespace** - IntegrationPlatform in the **operator namespace** I.e. the disconnection happens at integration level, all other pieces remain local (in the operator namespace). To locate the kit and all other platform resources, a new `status` -> `platformNamespace` has been added to the Integration and it represents where all supporting resources are located. On OpenShift, the `pull-secret` trait also adds the `system:image-puller` role (thanks @astefanutti) to the integration service account, so no image transfer between namespaces: all (cluster-wide) integrations with the same set of dependencies will point to the same imagestream. This allows to have, by default, a single builder with warmed up cache, that also builds images for the whole cluster, so images are shared and time to run the integrations is drastically reduced. Missing parts: - [ ] E2E tests <!-- Enter your extended release note in the below block. If the PR requires additional action from users switching to the new release, include the string "action required". If no release note is required, write "NONE". You can (optionally) mark this PR with labels "kind/bug" or "kind/feature" to make sure the text is added to the right section of the release notes. --> **Release Note** ```release-note A cluster-wide global Camel K operator now has the same (or better) performance than local Camel K operators ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org