From 282d4a413f98de8ffbcc6689b6ba139162c8bffc Mon Sep 17 00:00:00 2001 From: Ioannis Canellos Date: Wed, 27 Apr 2016 18:47:16 +0300 Subject: [PATCH] Add KubernetesClientProperties setters. Fix apiVersion and namespace in KubernetesAutoConfiguration. --- .../KubernetesAutoConfiguration.java | 49 +++++------ .../KubernetesClientProperties.java | 84 ++++++++++++++++++- 2 files changed, 102 insertions(+), 31 deletions(-) diff --git a/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesAutoConfiguration.java b/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesAutoConfiguration.java index 39ef0e15..66d866a7 100644 --- a/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesAutoConfiguration.java +++ b/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesAutoConfiguration.java @@ -32,44 +32,37 @@ import org.springframework.context.annotation.Configuration; @EnableConfigurationProperties(KubernetesClientProperties.class) public class KubernetesAutoConfiguration { - @Autowired - private KubernetesClientProperties properties; - @Bean @ConditionalOnMissingBean(Config.class) - public Config kubernetesClientConfig() { + public Config kubernetesClientConfig(KubernetesClientProperties kubernetesClientProperties) { Config base = new Config(); - Config properites = new ConfigBuilder(base) + Config properties = new ConfigBuilder(base) //Only set values that have been explicitly specified - .withMasterUrl(or(properties.getMasterUrl(), base.getMasterUrl())) - .withMasterUrl(or(properties.getApiVersion(), base.getApiVersion())) - .withMasterUrl(or(properties.getApiVersion(), base.getMasterUrl())) - .withUsername(or(properties.getUsername(), base.getUsername())) - .withPassword(or(properties.getPassword(), base.getPassword())) + .withMasterUrl(or(kubernetesClientProperties.getMasterUrl(), base.getMasterUrl())) + .withApiVersion(or(kubernetesClientProperties.getApiVersion(), base.getApiVersion())) + .withNamespace(or(kubernetesClientProperties.getNamespace(), base.getNamespace())) + .withUsername(or(kubernetesClientProperties.getUsername(), base.getUsername())) + .withPassword(or(kubernetesClientProperties.getPassword(), base.getPassword())) - .withCaCertFile(or(properties.getCaCertFile(), base.getCaCertFile())) - .withCaCertData(or(properties.getCaCertData(), base.getCaCertData())) + .withCaCertFile(or(kubernetesClientProperties.getCaCertFile(), base.getCaCertFile())) + .withCaCertData(or(kubernetesClientProperties.getCaCertData(), base.getCaCertData())) - .withClientKeyFile(or(properties.getClientKeyFile(), base.getClientKeyFile())) - .withClientKeyData(or(properties.getClientKeyData(), base.getClientKeyData())) + .withClientKeyFile(or(kubernetesClientProperties.getClientKeyFile(), base.getClientKeyFile())) + .withClientKeyData(or(kubernetesClientProperties.getClientKeyData(), base.getClientKeyData())) - .withClientCertFile(or(properties.getClientCertFile(), base.getClientCertFile())) - .withClientCertData(or(properties.getClientCertData(), base.getClientCertData())) + .withClientCertFile(or(kubernetesClientProperties.getClientCertFile(), base.getClientCertFile())) + .withClientCertData(or(kubernetesClientProperties.getClientCertData(), base.getClientCertData())) //No magic is done for the properties below so we leave them as is. - .withClientKeyAlgo(or(properties.getClientKeyAlgo(), base.getClientKeyAlgo())) - .withClientKeyPassphrase(or(properties.getClientKeyPassphrase(), base.getClientKeyPassphrase())) - .withConnectionTimeout(or(properties.getConnectionTimeout(), base.getConnectionTimeout())) - .withRequestTimeout(or(properties.getRequestTimeout(), base.getRequestTimeout())) - .withRollingTimeout(or(properties.getRollingTimeout(), base.getRollingTimeout())) - .withTrustCerts(or(properties.isTrustCerts(), base.isTrustCerts())) + .withClientKeyAlgo(or(kubernetesClientProperties.getClientKeyAlgo(), base.getClientKeyAlgo())) + .withClientKeyPassphrase(or(kubernetesClientProperties.getClientKeyPassphrase(), base.getClientKeyPassphrase())) + .withConnectionTimeout(or(kubernetesClientProperties.getConnectionTimeout(), base.getConnectionTimeout())) + .withRequestTimeout(or(kubernetesClientProperties.getRequestTimeout(), base.getRequestTimeout())) + .withRollingTimeout(or(kubernetesClientProperties.getRollingTimeout(), base.getRollingTimeout())) + .withTrustCerts(or(kubernetesClientProperties.isTrustCerts(), base.isTrustCerts())) .build(); - if (!base.equals(properites)) { - System.out.println("Objects different"); - } - - return properites; + return properties; } @Bean @@ -90,8 +83,6 @@ public class KubernetesAutoConfiguration { return new KubernetesHealthIndicator(client, podUtils); } - - private static D or(D dis, D dat) { if (dis != null) { return dis; diff --git a/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesClientProperties.java b/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesClientProperties.java index 4d056e6c..e47a2cfe 100644 --- a/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesClientProperties.java +++ b/spring-cloud-kubernetes-core/src/main/java/io/fabric8/spring/cloud/kubernetes/KubernetesClientProperties.java @@ -42,83 +42,163 @@ public class KubernetesClientProperties { private Long rollingTimeout; private Integer loggingInterval; + public String getClientCertData() { + return clientCertData; + } + + public void setClientCertData(String clientCertData) { + this.clientCertData = clientCertData; + } + public Boolean isTrustCerts() { return trustCerts; } + public void setTrustCerts(Boolean trustCerts) { + this.trustCerts = trustCerts; + } + public String getMasterUrl() { return masterUrl; } + public void setMasterUrl(String masterUrl) { + this.masterUrl = masterUrl; + } + public String getApiVersion() { return apiVersion; } + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + public String getNamespace() { return namespace; } + public void setNamespace(String namespace) { + this.namespace = namespace; + } + public String getCaCertFile() { return caCertFile; } + public void setCaCertFile(String caCertFile) { + this.caCertFile = caCertFile; + } + public String getCaCertData() { return caCertData; } + public void setCaCertData(String caCertData) { + this.caCertData = caCertData; + } + public String getClientCertFile() { return clientCertFile; } - public String getClientCertData() { - return clientCertData; + public void setClientCertFile(String clientCertFile) { + this.clientCertFile = clientCertFile; } public String getClientKeyFile() { return clientKeyFile; } + public void setClientKeyFile(String clientKeyFile) { + this.clientKeyFile = clientKeyFile; + } + public String getClientKeyData() { return clientKeyData; } + public void setClientKeyData(String clientKeyData) { + this.clientKeyData = clientKeyData; + } + public String getClientKeyAlgo() { return clientKeyAlgo; } + public void setClientKeyAlgo(String clientKeyAlgo) { + this.clientKeyAlgo = clientKeyAlgo; + } + public String getClientKeyPassphrase() { return clientKeyPassphrase; } + public void setClientKeyPassphrase(String clientKeyPassphrase) { + this.clientKeyPassphrase = clientKeyPassphrase; + } + public String getUsername() { return username; } + public void setUsername(String username) { + this.username = username; + } + public String getPassword() { return password; } + public void setPassword(String password) { + this.password = password; + } + public Integer getWatchReconnectInterval() { return watchReconnectInterval; } + public void setWatchReconnectInterval(Integer watchReconnectInterval) { + this.watchReconnectInterval = watchReconnectInterval; + } + public Integer getWatchReconnectLimit() { return watchReconnectLimit; } + public void setWatchReconnectLimit(Integer watchReconnectLimit) { + this.watchReconnectLimit = watchReconnectLimit; + } + public Integer getConnectionTimeout() { return connectionTimeout; } + public void setConnectionTimeout(Integer connectionTimeout) { + this.connectionTimeout = connectionTimeout; + } + public Integer getRequestTimeout() { return requestTimeout; } + public void setRequestTimeout(Integer requestTimeout) { + this.requestTimeout = requestTimeout; + } + public Long getRollingTimeout() { return rollingTimeout; } + public void setRollingTimeout(Long rollingTimeout) { + this.rollingTimeout = rollingTimeout; + } + public Integer getLoggingInterval() { return loggingInterval; } + + public void setLoggingInterval(Integer loggingInterval) { + this.loggingInterval = loggingInterval; + } }