Skip to content

Commit

Permalink
Refactor for having the service config under the service's name
Browse files Browse the repository at this point in the history
  • Loading branch information
aureamunoz committed Mar 10, 2022
1 parent 046a0de commit 8e41b5c
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 24 deletions.
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,17 @@ public class StorkConfigUtil {

public static List<ServiceConfig> toStorkServiceConfig(StorkConfiguration storkConfiguration) {
List<ServiceConfig> storkServicesConfigs = new ArrayList<>();
Set<String> services = storkConfiguration.serviceDiscovery.keySet();
Set<String> 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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,6 @@ public class StorkConfiguration {
@ConfigItem
@ConfigDocSection
@ConfigDocMapKey("service-name")
public Map<String, StorkServiceDiscoveryConfiguration> serviceDiscovery;

/**
* LoadBalancer configuration for the service
*/
@ConfigItem
@ConfigDocSection
@ConfigDocMapKey("service-name")
public Map<String, StorkLoadBalancerConfiguration> loadBalancer;
public Map<String, ServiceConfiguration> serviceConfiguration;

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class StorkLoadBalancerConfiguration {
* A LoadBalancerProvider for the type has to be available
*
*/
@ConfigItem
@ConfigItem(defaultValue = "round-robin")
public String type;

/**
Expand Down

0 comments on commit 8e41b5c

Please sign in to comment.