diff --git a/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/ServiceConfiguration.java b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/ServiceConfiguration.java new file mode 100644 index 00000000000000..a5d170359a1a43 --- /dev/null +++ b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/ServiceConfiguration.java @@ -0,0 +1,19 @@ +package io.quarkus.stork; + +import io.quarkus.runtime.annotations.ConfigGroup; +import io.quarkus.runtime.annotations.ConfigItem; + +@ConfigGroup +public class ServiceConfiguration { + /** + * ServiceDiscovery configuration for the service + */ + @ConfigItem + public StorkServiceDiscoveryConfiguration serviceDiscovery; + + /** + * LoadBalancer configuration for the service + */ + @ConfigItem + public StorkLoadBalancerConfiguration loadBalancer; +} diff --git a/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfigUtil.java b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfigUtil.java index a666713dd66284..db9d9f68b29a82 100644 --- a/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfigUtil.java +++ b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfigUtil.java @@ -11,22 +11,17 @@ public class StorkConfigUtil { public static List toStorkServiceConfig(StorkConfiguration storkConfiguration) { List storkServicesConfigs = new ArrayList<>(); - Set services = storkConfiguration.serviceDiscovery.keySet(); + Set servicesConfigs = storkConfiguration.serviceConfiguration.keySet(); SimpleServiceConfig.Builder builder = new SimpleServiceConfig.Builder(); - for (String serviceName : services) { + for (String serviceName : servicesConfigs) { builder.setServiceName(serviceName); - StorkServiceDiscoveryConfiguration storkServiceDiscoveryConfiguration = storkConfiguration.serviceDiscovery - .get(serviceName); - SimpleServiceConfig.SimpleServiceDiscoveryConfig serviceDiscoveryConfig = new SimpleServiceConfig.SimpleServiceDiscoveryConfig( - storkServiceDiscoveryConfiguration.type, storkServiceDiscoveryConfiguration.params); - builder.setServiceDiscovery(serviceDiscoveryConfig); - if (!storkConfiguration.loadBalancer.isEmpty()) { - StorkLoadBalancerConfiguration storkLoadBalancerConfiguration = storkConfiguration.loadBalancer - .get(serviceName); - SimpleServiceConfig.SimpleLoadBalancerConfig loadBalancerConfig = new SimpleServiceConfig.SimpleLoadBalancerConfig( - storkLoadBalancerConfiguration.type, storkLoadBalancerConfiguration.parameters); - builder.setLoadBalancer(loadBalancerConfig); - } + ServiceConfiguration serviceConfiguration = storkConfiguration.serviceConfiguration.get(serviceName); + SimpleServiceConfig.SimpleServiceDiscoveryConfig storkServiceDiscoveryConfig = new SimpleServiceConfig.SimpleServiceDiscoveryConfig( + serviceConfiguration.serviceDiscovery.type, serviceConfiguration.serviceDiscovery.params); + builder.setServiceDiscovery(storkServiceDiscoveryConfig); + SimpleServiceConfig.SimpleLoadBalancerConfig loadBalancerConfig = new SimpleServiceConfig.SimpleLoadBalancerConfig( + serviceConfiguration.loadBalancer.type, serviceConfiguration.loadBalancer.parameters); + builder.setLoadBalancer(loadBalancerConfig); storkServicesConfigs.add(builder.build()); } return storkServicesConfigs; diff --git a/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfiguration.java b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfiguration.java index 056372caba4894..6f9f9aebb4aa98 100644 --- a/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfiguration.java +++ b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkConfiguration.java @@ -20,14 +20,6 @@ public class StorkConfiguration { @ConfigItem @ConfigDocSection @ConfigDocMapKey("service-name") - public Map serviceDiscovery; - - /** - * LoadBalancer configuration for the service - */ - @ConfigItem - @ConfigDocSection - @ConfigDocMapKey("service-name") - public Map loadBalancer; + public Map serviceConfiguration; } diff --git a/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkLoadBalancerConfiguration.java b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkLoadBalancerConfiguration.java index 69200f95cd3cef..583aefcbafb8e6 100644 --- a/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkLoadBalancerConfiguration.java +++ b/extensions/smallrye-stork/runtime/src/main/java/io/quarkus/stork/StorkLoadBalancerConfiguration.java @@ -13,7 +13,7 @@ public class StorkLoadBalancerConfiguration { * A LoadBalancerProvider for the type has to be available * */ - @ConfigItem + @ConfigItem(defaultValue = "round-robin") public String type; /**