apache / camel-k

Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers
https://camel.apache.org/camel-k
Apache License 2.0
859 stars 344 forks source link

[features request] add the hability to set Jib registryMirrors #5691

Open mcarbonneaux opened 1 month ago

mcarbonneaux commented 1 month ago

Requirement

hability to set registryMirrors in maven jib plugin to abel to download image from mirror.

Problem

actualy you need to set proxy setting if camel-k is not connected to internet, event that, is you pull to much on repository like docker hub you take pull rate error... usualy you use repository mirror like "distibution" or "gohabor" to avoid that...

you can easily do that on kubernetes, but when camel build they use docker less method in docker to do that and not k8s mecanisme...

Proposal

adding options in install phase that map file like maven settings (in form of config map) for jib json config file: https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#global-jib-configuration

like https://camel.apache.org/camel-k/2.3.x/installation/advanced/maven.html#maven-settings

Open questions

No response

gansheer commented 1 month ago

Thanks for the feature request. It looks like a good improvment.

We could probably leverage the map "PublishStrategyOptions" (--build-publish-strategy-option) available in the IntegrationPlatform CRD and use the value in https://github.com/apache/camel-k/blob/main/pkg/builder/jib.go. It was used in the past for Kaniko publish strategy configuration (the strategy has been removed). Then it would be a matter of being able to use config (or any other name) publish property with some value [configmap|secret]:name[/key]. In the end Camel K would be installed with this platform configuration to be used.

Feel free to contribute to the feature if you can.

squakez commented 1 month ago

Probably we need to develop a generic feature that would allow the configuration of multiple JIB parameters. We'd need to make some analysis and thing the best approach to make it as much independent as possible.