update sidecare enabled property, make eureka portion of config conditional on eureka on classpath so other DiscoveryClient impls can use it.
This commit is contained in:
@@ -16,42 +16,53 @@
|
||||
|
||||
package org.springframework.cloud.netflix.sidecar;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import com.netflix.discovery.EurekaClientConfig;
|
||||
|
||||
/**
|
||||
* @author Spencer Gibb
|
||||
*/
|
||||
@Configuration
|
||||
@EnableConfigurationProperties
|
||||
@ConditionalOnProperty(value = "sidecar.enabled", matchIfMissing = true)
|
||||
@ConditionalOnProperty(value = "spring.cloud.netflix.sidecar.enabled", matchIfMissing = true)
|
||||
public class SidecarConfiguration {
|
||||
|
||||
@Value("${server.port:${SERVER_PORT:${PORT:8080}}}")
|
||||
private int serverPort = 8080;
|
||||
|
||||
@Bean
|
||||
public SidecarProperties sidecarProperties() {
|
||||
return new SidecarProperties();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public EurekaInstanceConfigBean eurekaInstanceConfigBean() {
|
||||
EurekaInstanceConfigBean config = new EurekaInstanceConfigBean();
|
||||
int port = sidecarProperties().getPort();
|
||||
config.setNonSecurePort(port);
|
||||
String scheme = config.getSecurePortEnabled() ? "https" : "http";
|
||||
config.setStatusPageUrl(scheme + "://" + config.getHostname() + ":"
|
||||
+ this.serverPort + config.getStatusPageUrlPath());
|
||||
config.setHealthCheckUrl(scheme + "://" + config.getHostname() + ":"
|
||||
+ this.serverPort + config.getHealthCheckUrlPath());
|
||||
config.setHomePageUrl(scheme + "://" + config.getHostname() + ":" + port
|
||||
+ config.getHomePageUrlPath());
|
||||
return config;
|
||||
@Configuration
|
||||
@ConditionalOnClass(EurekaClientConfig.class)
|
||||
protected static class EurekaInstanceConfigBeanConfiguration {
|
||||
@Autowired
|
||||
private SidecarProperties sidecarProperties;
|
||||
|
||||
@Value("${server.port:${SERVER_PORT:${PORT:8080}}}")
|
||||
private int serverPort = 8080;
|
||||
|
||||
@Bean
|
||||
public EurekaInstanceConfigBean eurekaInstanceConfigBean() {
|
||||
EurekaInstanceConfigBean config = new EurekaInstanceConfigBean();
|
||||
int port = sidecarProperties.getPort();
|
||||
config.setNonSecurePort(port);
|
||||
String scheme = config.getSecurePortEnabled() ? "https" : "http";
|
||||
config.setStatusPageUrl(scheme + "://" + config.getHostname() + ":"
|
||||
+ this.serverPort + config.getStatusPageUrlPath());
|
||||
config.setHealthCheckUrl(scheme + "://" + config.getHostname() + ":"
|
||||
+ this.serverPort + config.getHealthCheckUrlPath());
|
||||
config.setHomePageUrl(scheme + "://" + config.getHostname() + ":" + port
|
||||
+ config.getHomePageUrlPath());
|
||||
return config;
|
||||
}
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
Reference in New Issue
Block a user