This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new aa6d56966 feat: Provide default broker settings from environment 
variables (#2169)
aa6d56966 is described below

commit aa6d5696623f1742cc3fae1f8d714aa2292bdf87
Author: Dominik Riemer <[email protected]>
AuthorDate: Mon Nov 13 08:16:38 2023 +0100

    feat: Provide default broker settings from environment variables (#2169)
---
 .../apache/streampipes/commons/constants/Envs.java | 15 +++++++++-
 .../commons/environment/DefaultEnvironment.java    | 35 ++++++++++++++++++++++
 .../commons/environment/Environment.java           | 12 ++++++++
 .../configuration/DefaultMessagingSettings.java    | 16 +++++-----
 4 files changed, 68 insertions(+), 10 deletions(-)

diff --git 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
index bdbcb4105..c3e6f969f 100644
--- 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
+++ 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
@@ -95,7 +95,20 @@ public enum Envs {
 
   
SP_HEALTH_SERVICE_MAX_UNHEALTHY_TIME_MS("SP_HEALTH_SERVICE_MAX_UNHEALTHY_TIME_MS",
 "60000"),
 
-  
SP_INITIAL_WAIT_BEFORE_INSTALLATION_MS("SP_INITIAL_WAIT_BEFORE_INSTALLATION_MS",
 "5000");
+  
SP_INITIAL_WAIT_BEFORE_INSTALLATION_MS("SP_INITIAL_WAIT_BEFORE_INSTALLATION_MS",
 "5000"),
+
+  // Broker defaults
+
+  SP_KAFKA_HOST("SP_KAFKA_HOST", "kafka"),
+  SP_KAFKA_PORT("SP_KAFKA_PORT", "9092"),
+
+  SP_MQTT_HOST("SP_MQTT_HOST", "mosquitto"),
+  SP_MQTT_PORT("SP_MQTT_PORT", "1883"),
+
+  SP_NATS_HOST("SP_NATS_HOST", "nats"),
+  SP_NATS_PORT("SP_NATS_PORT", "4222"),
+
+  SP_PULSAR_URL("SP_PULSAR_URL", "pulsar://localhost:6650");
 
   private final String envVariableName;
   private String defaultValue;
diff --git 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java
 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java
index 3a5831ae8..c1db1c185 100644
--- 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java
+++ 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java
@@ -249,6 +249,41 @@ public class DefaultEnvironment implements Environment {
     return new 
IntEnvironmentVariable(Envs.SP_INITIAL_WAIT_BEFORE_INSTALLATION_MS);
   }
 
+  @Override
+  public StringEnvironmentVariable getKafkaHost() {
+    return new StringEnvironmentVariable(Envs.SP_KAFKA_HOST);
+  }
+
+  @Override
+  public IntEnvironmentVariable getKafkaPort() {
+    return new IntEnvironmentVariable(Envs.SP_KAFKA_PORT);
+  }
+
+  @Override
+  public StringEnvironmentVariable getMqttHost() {
+    return new StringEnvironmentVariable(Envs.SP_MQTT_HOST);
+  }
+
+  @Override
+  public IntEnvironmentVariable getMqttPort() {
+    return new IntEnvironmentVariable(Envs.SP_MQTT_PORT);
+  }
+
+  @Override
+  public StringEnvironmentVariable getNatsHost() {
+    return new StringEnvironmentVariable(Envs.SP_NATS_HOST);
+  }
+
+  @Override
+  public IntEnvironmentVariable getNatsPort() {
+    return new IntEnvironmentVariable(Envs.SP_NATS_PORT);
+  }
+
+  @Override
+  public StringEnvironmentVariable getPulsarUrl() {
+    return new StringEnvironmentVariable(Envs.SP_PULSAR_URL);
+  }
+
   @Override
   public StringEnvironmentVariable getConsulLocation() {
     return new StringEnvironmentVariable(Envs.SP_CONSUL_LOCATION);
diff --git 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java
 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java
index 30c6749c2..913855924 100644
--- 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java
+++ 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java
@@ -131,4 +131,16 @@ public interface Environment {
 
   IntEnvironmentVariable getInitialWaitTimeBeforeInstallationInMillis();
 
+  // Broker defaults
+  StringEnvironmentVariable getKafkaHost();
+  IntEnvironmentVariable getKafkaPort();
+
+  StringEnvironmentVariable getMqttHost();
+  IntEnvironmentVariable getMqttPort();
+
+  StringEnvironmentVariable getNatsHost();
+  IntEnvironmentVariable getNatsPort();
+
+  StringEnvironmentVariable getPulsarUrl();
+
 }
diff --git 
a/streampipes-model/src/main/java/org/apache/streampipes/model/configuration/DefaultMessagingSettings.java
 
b/streampipes-model/src/main/java/org/apache/streampipes/model/configuration/DefaultMessagingSettings.java
index d2f21ea0c..457ec36b1 100644
--- 
a/streampipes-model/src/main/java/org/apache/streampipes/model/configuration/DefaultMessagingSettings.java
+++ 
b/streampipes-model/src/main/java/org/apache/streampipes/model/configuration/DefaultMessagingSettings.java
@@ -32,8 +32,6 @@ public class DefaultMessagingSettings {
       protocolList = switch 
(env.getPrioritizedProtocol().getValueOrDefault().toLowerCase()) {
         case "mqtt" ->
             Arrays.asList(SpProtocol.MQTT, SpProtocol.KAFKA, SpProtocol.JMS, 
SpProtocol.NATS, SpProtocol.PULSAR);
-        case "kafka" ->
-            Arrays.asList(SpProtocol.KAFKA, SpProtocol.MQTT, SpProtocol.JMS, 
SpProtocol.NATS, SpProtocol.PULSAR);
         case "jms" ->
             Arrays.asList(SpProtocol.JMS, SpProtocol.KAFKA, SpProtocol.MQTT, 
SpProtocol.NATS, SpProtocol.PULSAR);
         case "nats" ->
@@ -58,16 +56,16 @@ public class DefaultMessagingSettings {
     defaultSettings.setJmsHost("activemq");
     defaultSettings.setJmsPort(61616);
 
-    defaultSettings.setMqttHost("mosquitto");
-    defaultSettings.setMqttPort(1883);
+    defaultSettings.setMqttHost(env.getMqttHost().getValueOrDefault());
+    defaultSettings.setMqttPort(env.getMqttPort().getValueOrDefault());
 
-    defaultSettings.setNatsHost("nats");
-    defaultSettings.setNatsPort(4222);
+    defaultSettings.setNatsHost(env.getNatsHost().getValueOrDefault());
+    defaultSettings.setNatsPort(env.getNatsPort().getValueOrDefault());
 
-    defaultSettings.setKafkaHost("kafka");
-    defaultSettings.setKafkaPort(9092);
+    defaultSettings.setKafkaHost(env.getKafkaHost().getValueOrDefault());
+    defaultSettings.setKafkaPort(env.getKafkaPort().getValueOrDefault());
 
-    defaultSettings.setPulsarUrl("pulsar://localhost:6650");
+    defaultSettings.setPulsarUrl(env.getPulsarUrl().getValueOrDefault());
 
     defaultSettings.setZookeeperHost("zookeeper");
     defaultSettings.setZookeeperPort(2181);

Reply via email to