Skip to content

Commit b66a5f6

Browse files
authored
Merge pull request #1963 from ryanjbaxter/default-apiclient-for-spring-config
Return a default APIClient if we run into an exception
2 parents beb47f3 + ad0e88a commit b66a5f6

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

spring/src/main/java/io/kubernetes/client/spring/extended/controller/config/KubernetesInformerAutoConfiguration.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import io.kubernetes.client.spring.extended.controller.KubernetesInformerFactoryProcessor;
1818
import io.kubernetes.client.util.ClientBuilder;
1919
import java.io.IOException;
20+
import org.slf4j.Logger;
21+
import org.slf4j.LoggerFactory;
2022
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2123
import org.springframework.context.annotation.Bean;
2224
import org.springframework.context.annotation.Configuration;
@@ -25,10 +27,22 @@
2527
@ConditionalOnKubernetesInformerEnabled
2628
public class KubernetesInformerAutoConfiguration {
2729

30+
private static final Logger LOGGER =
31+
LoggerFactory.getLogger(KubernetesInformerAutoConfiguration.class);
32+
2833
@Bean
2934
@ConditionalOnMissingBean
3035
public ApiClient defaultApiClient() throws IOException {
31-
return ClientBuilder.defaultClient();
36+
try {
37+
ApiClient apiClient = ClientBuilder.defaultClient();
38+
return apiClient;
39+
} catch (Exception e) {
40+
LOGGER.warn(
41+
"Could not create a Kubernetes ApiClient from either a cluster or standard environment. "
42+
+ "Will return one that always connects to localhost:8080",
43+
e);
44+
return new ClientBuilder().build();
45+
}
3246
}
3347

3448
@Bean

0 commit comments

Comments
 (0)