When using karaf or spring boot then the number of components you can use is not all of them. We should allow the catalog to filter out components.
Either we have a getXXXSpringBoot getXXXKaraf methods, or we could instead allow to plugin a runtime provider, so we can then have a karaf and spring boot provider, that then filters accordingly. Then we can have 3rd party provides such as wildfly-swarm etc plugin their filter.
For karaf we can then parse the features.xml file and find out which camel components it support.
For spring boot we can look in the components-starter directory.