Skip to content

Commit 9d0d735

Browse files
authored
Merge pull request #2051 from wind57/minor_refactors_k8s_client
tighter access to k8s-autoconfig package classes
2 parents 4b2badd + fbbe1c2 commit 9d0d735

23 files changed

+52
-112
lines changed

spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientActuatorConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@
3030
*/
3131
@Configuration(proxyBeanMethods = false)
3232
@ConditionalOnKubernetesHealthIndicatorEnabled
33-
public class KubernetesClientActuatorConfiguration {
33+
final class KubernetesClientActuatorConfiguration {
3434

3535
@Bean
3636
@ConditionalOnEnabledHealthIndicator("kubernetes")
37-
public KubernetesClientHealthIndicator kubernetesHealthIndicator(PodUtils<V1Pod> podUtils) {
37+
KubernetesClientHealthIndicator kubernetesHealthIndicator(PodUtils<V1Pod> podUtils) {
3838
return new KubernetesClientHealthIndicator(podUtils);
3939
}
4040

4141
@Bean
4242
@ConditionalOnEnabledInfoContributor("kubernetes")
43-
public KubernetesClientInfoContributor kubernetesInfoContributor(PodUtils<V1Pod> podUtils) {
43+
KubernetesClientInfoContributor kubernetesInfoContributor(PodUtils<V1Pod> podUtils) {
4444
return new KubernetesClientInfoContributor(podUtils);
4545
}
4646

spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientAutoConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,17 @@
3838
@Configuration(proxyBeanMethods = false)
3939
@ConditionalOnCloudPlatform(CloudPlatform.KUBERNETES)
4040
@AutoConfigureAfter(KubernetesCommonsAutoConfiguration.class)
41-
public class KubernetesClientAutoConfiguration {
41+
public final class KubernetesClientAutoConfiguration {
4242

4343
@Bean
4444
@ConditionalOnMissingBean
45-
public CoreV1Api coreApi(ApiClient apiClient) {
45+
CoreV1Api coreApi(ApiClient apiClient) {
4646
return new CoreV1Api(apiClient);
4747
}
4848

4949
@Bean
5050
@ConditionalOnMissingBean
51-
public ApiClient apiClient(KubernetesClientProperties clientProperties) {
51+
ApiClient apiClient(KubernetesClientProperties clientProperties) {
5252
ApiClient apiClient = kubernetesApiClient();
5353
apiClient.setUserAgent(clientProperties.userAgent());
5454
return apiClient;
@@ -62,7 +62,7 @@ public KubernetesNamespaceProvider kubernetesNamespaceProvider(Environment envir
6262

6363
@Bean
6464
@ConditionalOnMissingBean
65-
public KubernetesClientPodUtils kubernetesPodUtils(CoreV1Api client,
65+
KubernetesClientPodUtils kubernetesPodUtils(CoreV1Api client,
6666
KubernetesNamespaceProvider kubernetesNamespaceProvider) {
6767
return new KubernetesClientPodUtils(client, kubernetesNamespaceProvider.getNamespace(), true);
6868
}

spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
/**
3232
* @author Ryan Baxter
3333
*/
34-
public class KubernetesClientHealthIndicator extends AbstractKubernetesHealthIndicator {
34+
final class KubernetesClientHealthIndicator extends AbstractKubernetesHealthIndicator {
3535

3636
private final PodUtils<V1Pod> utils;
3737

38-
public KubernetesClientHealthIndicator(PodUtils<V1Pod> utils) {
38+
KubernetesClientHealthIndicator(PodUtils<V1Pod> utils) {
3939
this.utils = utils;
4040
}
4141

spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
/**
3232
* @author Ryan Baxter
3333
*/
34-
public class KubernetesClientInfoContributor extends AbstractKubernetesInfoContributor {
34+
final class KubernetesClientInfoContributor extends AbstractKubernetesInfoContributor {
3535

3636
private final PodUtils<V1Pod> utils;
3737

38-
public KubernetesClientInfoContributor(PodUtils<V1Pod> utils) {
38+
KubernetesClientInfoContributor(PodUtils<V1Pod> utils) {
3939
this.utils = utils;
4040
}
4141

spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientPodUtils.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,7 @@
3434
/**
3535
* @author Ryan Baxter
3636
*/
37-
public class KubernetesClientPodUtils implements PodUtils<V1Pod> {
38-
39-
/**
40-
* Hostname environment variable name.
41-
*/
42-
public static final String HOSTNAME = "HOSTNAME";
43-
44-
/**
45-
* KUBERNETES_SERVICE_HOST environment variable name.
46-
*/
47-
public static final String KUBERNETES_SERVICE_HOST = "KUBERNETES_SERVICE_HOST";
37+
final class KubernetesClientPodUtils implements PodUtils<V1Pod> {
4838

4939
private static final Log LOG = LogFactory.getLog(KubernetesClientPodUtils.class);
5040

@@ -62,14 +52,14 @@ public class KubernetesClientPodUtils implements PodUtils<V1Pod> {
6252

6353
// mainly needed for the health and info contributors, so that they report DOWN
6454
// correctly
65-
public KubernetesClientPodUtils(CoreV1Api client, String namespace, boolean failFast) {
55+
KubernetesClientPodUtils(CoreV1Api client, String namespace, boolean failFast) {
6656
if (client == null) {
6757
throw new IllegalArgumentException("Must provide an instance of KubernetesClient");
6858
}
6959

7060
this.client = client;
71-
this.hostName = EnvReader.getEnv(HOSTNAME);
72-
this.serviceHost = EnvReader.getEnv(KUBERNETES_SERVICE_HOST);
61+
this.hostName = EnvReader.getEnv("HOSTNAME");
62+
this.serviceHost = EnvReader.getEnv("KUBERNETES_SERVICE_HOST");
7363
this.current = LazilyInstantiate.using(this::internalGetPod);
7464
this.namespace = namespace;
7565
this.failFast = failFast;
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,10 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.cloud.kubernetes.client.profile;
17+
package org.springframework.cloud.kubernetes.client;
1818

1919
import io.kubernetes.client.openapi.apis.CoreV1Api;
2020

21-
import org.springframework.cloud.kubernetes.client.KubernetesClientPodUtils;
2221
import org.springframework.cloud.kubernetes.commons.profile.AbstractKubernetesProfileEnvironmentPostProcessor;
2322
import org.springframework.core.env.Environment;
2423

@@ -28,7 +27,7 @@
2827
* @author Ryan Baxter
2928
* @author Thomas Vitale
3029
*/
31-
public class KubernetesClientProfileEnvironmentPostProcessor extends AbstractKubernetesProfileEnvironmentPostProcessor {
30+
final class KubernetesClientProfileEnvironmentPostProcessor extends AbstractKubernetesProfileEnvironmentPostProcessor {
3231

3332
@Override
3433
protected boolean isInsideKubernetes(Environment environment) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
org.springframework.boot.EnvironmentPostProcessor=\
2-
org.springframework.cloud.kubernetes.client.profile.KubernetesClientProfileEnvironmentPostProcessor
2+
org.springframework.cloud.kubernetes.client.KubernetesClientProfileEnvironmentPostProcessor

spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/ActuatorDisabledHealthTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@
2323
import org.springframework.boot.health.registry.ReactiveHealthContributorRegistry;
2424
import org.springframework.boot.test.context.SpringBootTest;
2525
import org.springframework.boot.web.server.test.LocalManagementPort;
26-
import org.springframework.cloud.kubernetes.client.example.App;
2726
import org.springframework.http.MediaType;
2827
import org.springframework.test.web.reactive.server.WebTestClient;
2928

3029
/**
3130
* @author wind57
3231
*/
33-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = App.class,
32+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TestApp.class,
3433
properties = { "management.health.kubernetes.enabled=false", "management.endpoint.health.show-details=always",
3534
"management.endpoint.health.show-components=always", "spring.main.cloud-platform=KUBERNETES",
3635
"management.endpoints.web.exposure.include=health" })

spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/ActuatorEnabledFailFastExceptionTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,14 @@
3434
import org.springframework.boot.health.contributor.Status;
3535
import org.springframework.boot.test.context.SpringBootTest;
3636
import org.springframework.boot.test.context.TestConfiguration;
37-
import org.springframework.cloud.kubernetes.client.example.App;
3837
import org.springframework.cloud.kubernetes.commons.EnvReader;
3938
import org.springframework.context.annotation.Bean;
4039

4140
/**
4241
* @author wind57
4342
*/
4443
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
45-
classes = { App.class, ActuatorEnabledFailFastExceptionTest.ActuatorConfig.class },
44+
classes = { TestApp.class, ActuatorEnabledFailFastExceptionTest.ActuatorConfig.class },
4645
properties = { "management.endpoint.health.show-details=always",
4746
"management.endpoint.health.show-components=always", "management.endpoints.web.exposure.include=health",
4847
"spring.main.cloud-platform=KUBERNETES" })
@@ -76,9 +75,8 @@ private static void mocks() {
7675
envReaderMockedStatic = Mockito.mockStatic(EnvReader.class);
7776
pathsMockedStatic = Mockito.mockStatic(Paths.class, Mockito.CALLS_REAL_METHODS);
7877

79-
envReaderMockedStatic.when(() -> EnvReader.getEnv(KubernetesClientPodUtils.KUBERNETES_SERVICE_HOST))
80-
.thenReturn("k8s-host");
81-
envReaderMockedStatic.when(() -> EnvReader.getEnv(KubernetesClientPodUtils.HOSTNAME)).thenReturn("host");
78+
envReaderMockedStatic.when(() -> EnvReader.getEnv("KUBERNETES_SERVICE_HOST")).thenReturn("k8s-host");
79+
envReaderMockedStatic.when(() -> EnvReader.getEnv("HOSTNAME")).thenReturn("host");
8280

8381
Path serviceAccountTokenPath = Mockito.mock(Path.class);
8482
File serviceAccountTokenFile = Mockito.mock(File.class);

spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/ActuatorEnabledHealthTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,10 @@
2323
import org.springframework.boot.health.registry.HealthContributorRegistry;
2424
import org.springframework.boot.test.context.SpringBootTest;
2525
import org.springframework.boot.web.server.test.LocalManagementPort;
26-
import org.springframework.cloud.kubernetes.client.example.App;
2726
import org.springframework.http.MediaType;
2827
import org.springframework.test.web.reactive.server.WebTestClient;
2928

30-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = App.class,
29+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TestApp.class,
3130
properties = { "management.health.kubernetes.enabled=true", "management.endpoint.health.show-details=always",
3231
"management.endpoint.health.show-components=always", "management.endpoints.web.exposure.include=health",
3332
"spring.main.cloud-platform=KUBERNETES" })

0 commit comments

Comments
 (0)