in pkg/controller/integrationplatform/monitor.go [196:279]
func (action *monitorAction) addPlainQuarkusCatalog(ctx context.Context, catalog *v1.CamelCatalog) error {
runtimeSpec := v1.RuntimeSpec{
Version: catalog.Spec.GetRuntimeVersion(),
Provider: v1.RuntimeProviderPlainQuarkus,
}
cat, err := loadCatalog(ctx, action.client, catalog.Namespace, runtimeSpec)
if err != nil {
return err
}
if cat == nil {
// Clone the catalog to enable Quarkus Plain runtime
clonedCatalog := catalog.DeepCopy()
clonedCatalog.Status = v1.CamelCatalogStatus{}
clonedCatalog.ObjectMeta = metav1.ObjectMeta{
Namespace: catalog.Namespace,
Name: strings.ReplaceAll(catalog.Name, "camel-catalog", "camel-catalog-quarkus"),
Labels: catalog.Labels,
Annotations: catalog.Annotations,
}
clonedCatalog.Spec.Runtime.Provider = v1.RuntimeProviderPlainQuarkus
clonedCatalog.Spec.Runtime.Dependencies = []v1.MavenArtifact{
{
GroupID: "org.apache.camel.quarkus",
ArtifactID: "camel-quarkus-core",
},
}
if clonedCatalog.Spec.Runtime.Capabilities != nil {
clonedCatalog.Spec.Runtime.Capabilities["cron"] = v1.Capability{
Dependencies: []v1.MavenArtifact{},
}
clonedCatalog.Spec.Runtime.Capabilities["knative"] = v1.Capability{
Dependencies: []v1.MavenArtifact{
{
GroupID: "org.apache.camel.quarkus",
ArtifactID: "camel-quarkus-knative",
},
},
}
runtimesProps := clonedCatalog.Spec.Runtime.Capabilities["master"].RuntimeProperties
clonedCatalog.Spec.Runtime.Capabilities["master"] = v1.Capability{
Dependencies: []v1.MavenArtifact{
{
GroupID: "org.apache.camel.quarkus",
ArtifactID: "camel-quarkus-master",
},
{
GroupID: "org.apache.camel.quarkus",
ArtifactID: "camel-quarkus-kubernetes",
},
{
GroupID: "org.apache.camel.quarkus",
ArtifactID: "camel-quarkus-kubernetes-cluster-service",
},
},
RuntimeProperties: runtimesProps,
}
clonedCatalog.Spec.Runtime.Capabilities["resume-kafka"] = v1.Capability{
Dependencies: []v1.MavenArtifact{},
}
clonedCatalog.Spec.Runtime.Capabilities["jolokia"] = v1.Capability{
Dependencies: []v1.MavenArtifact{
{
GroupID: "org.apache.camel.quarkus",
ArtifactID: "camel-quarkus-jaxb",
},
{
GroupID: "org.apache.camel.quarkus",
ArtifactID: "camel-quarkus-management",
},
{
GroupID: "org.jolokia",
ArtifactID: "jolokia-agent-jvm",
Classifier: "javaagent",
Version: "2.1.1",
},
},
}
}
return action.client.Create(ctx, clonedCatalog)
}
return nil
}