Skip to content

Commit

Permalink
fix(5746): Fix master addon configuration
Browse files Browse the repository at this point in the history
* Add missing Kubernetes cluster service module
* Update configuration of module
* Fix properties customization for camel-k-master
  • Loading branch information
gansheer committed Aug 19, 2024
1 parent 7aae5cb commit a71924e
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 10 deletions.
6 changes: 6 additions & 0 deletions camel-k-master/deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-kubernetes-deployment</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-kubernetes-cluster-service-deployment</artifactId>
</dependency>


</dependencies>

<build>
Expand Down
4 changes: 4 additions & 0 deletions camel-k-master/impl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-kubernetes</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-kubernetes-cluster-service</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.k</groupId>
<artifactId>camel-k-core-support</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package org.apache.camel.k.master;

import java.util.Collections;
import java.util.Optional;

import org.apache.camel.CamelContext;
import org.apache.camel.RuntimeCamelException;
Expand All @@ -40,7 +41,22 @@ public class MasterContextCustomizer implements ContextCustomizer {
@Override
public void apply(CamelContext camelContext) {
try {
boolean existsService = false;
KubernetesClusterService clusterService = new KubernetesClusterService();

if (this.rebalancing == null || this.rebalancing) {
RebalancingCamelClusterService existingRebalancingService = camelContext.hasService(RebalancingCamelClusterService.class);
if (existingRebalancingService != null){
existsService = true;
clusterService = (KubernetesClusterService)existingRebalancingService.getDelegate();
}
} else {
if (camelContext.hasService(KubernetesClusterService.class) != null) {
clusterService = camelContext.hasService(KubernetesClusterService.class);
existsService = true;
}
}

String resourceName = this.kubernetesResourceName;
if (ObjectHelper.isEmpty(resourceName)) {
resourceName = this.configMapName;
Expand All @@ -55,11 +71,13 @@ public void apply(CamelContext camelContext) {
clusterService.setLeaseResourceType(this.leaseResourceType);
}

if (this.rebalancing == null || this.rebalancing) {
RebalancingCamelClusterService rebalancingService = new RebalancingCamelClusterService(clusterService, clusterService.getRenewDeadlineMillis());
camelContext.addService(rebalancingService);
} else {
camelContext.addService(clusterService);
if (!existsService) {
if (this.rebalancing == null || this.rebalancing) {
RebalancingCamelClusterService rebalancingService = new RebalancingCamelClusterService(clusterService, clusterService.getRenewDeadlineMillis());
camelContext.addService(rebalancingService);
} else {
camelContext.addService(clusterService);
}
}
} catch (Exception ex) {
throw new RuntimeCamelException(ex);
Expand Down
4 changes: 4 additions & 0 deletions camel-k-master/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-kubernetes</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-kubernetes-cluster-service</artifactId>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ new File(basedir, "catalog.yaml").withReader {
assert catalog.spec.runtime.capabilities['master'].runtimeProperties[1].value == '${camel.k.master.resourceName}'
assert catalog.spec.runtime.capabilities['master'].runtimeProperties[2].key == 'quarkus.camel.cluster.kubernetes.resource-type'
assert catalog.spec.runtime.capabilities['master'].runtimeProperties[2].value == '${camel.k.master.resourceType}'
assert catalog.spec.runtime.capabilities['master'].buildTimeProperties[0].key == 'quarkus.camel.cluster.kubernetes.enabled'
assert catalog.spec.runtime.capabilities['master'].buildTimeProperties[0].value == '${camel.k.master.enabled}'
// Telemetry properties
assert catalog.spec.runtime.capabilities['telemetry'].runtimeProperties[0].key == 'quarkus.opentelemetry.tracer.exporter.otlp.endpoint'
assert catalog.spec.runtime.capabilities['telemetry'].runtimeProperties[0].value == '${camel.k.telemetry.endpoint}'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -506,9 +506,7 @@ private void addCapabilities(RuntimeSpec.Builder runtimeSpec, CamelCatalogSpec.B
properties.add(Property.from("quarkus.camel.cluster.kubernetes.resource-name", "${camel.k.master.resourceName}"));
properties.add(Property.from("quarkus.camel.cluster.kubernetes.resource-type", "${camel.k.master.resourceType}"));
properties.add(Property.from("quarkus.camel.cluster.kubernetes.labels.\"${camel.k.master.labelKey}\"", "${camel.k.master.labelValue}"));
List<Property> buildTimeProps = new ArrayList<>();
buildTimeProps.add(Property.from("quarkus.camel.cluster.kubernetes.enabled", "${camel.k.master.enabled}"));
addCapability(runtimeSpec, catalogSpec, "master", artifacts, properties, buildTimeProps, new ArrayList<>(), true);
addCapability(runtimeSpec, catalogSpec, "master", artifacts, properties, new ArrayList<>(), new ArrayList<>(), true);

artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-hashicorp-vault"));
Expand Down

0 comments on commit a71924e

Please sign in to comment.