From 074404cd606ada7f093b9cbf0256ad4e0b2cfb0f Mon Sep 17 00:00:00 2001 From: wind57 Date: Wed, 26 Mar 2025 18:33:29 +0200 Subject: [PATCH] dirty Signed-off-by: wind57 --- .../commons/config/SecretsPropertySourceLocator.java | 10 +++++++--- .../cloud/kubernetes/k8s/client/reload/App.java | 2 +- .../cloud/kubernetes/k8s/client/reload/Controller.java | 4 ++-- .../{SecretsProperties.java => SecretProperties.java} | 2 +- .../src/main/resources/application-with-bootstrap.yaml | 1 - .../src/main/resources/bootstrap-with-bootstrap.yaml | 4 ++++ .../k8s/client/reload/it/K8sClientReloadBase.java | 2 +- .../test/resources/mount/deployment-with-secret.yaml | 2 +- 8 files changed, 17 insertions(+), 10 deletions(-) rename spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/{SecretsProperties.java => SecretProperties.java} (96%) diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SecretsPropertySourceLocator.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SecretsPropertySourceLocator.java index 87692ba6..1770ef4d 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SecretsPropertySourceLocator.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SecretsPropertySourceLocator.java @@ -21,13 +21,14 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.function.BiConsumer; @@ -103,6 +104,7 @@ public abstract class SecretsPropertySourceLocator implements PropertySourceLoca } cache.discardAll(); + System.out.println("composite : " + Arrays.toString(composite.getPropertyNames())); return composite; } return null; @@ -141,7 +143,8 @@ public abstract class SecretsPropertySourceLocator implements PropertySourceLoca LOG.warn("Error walking properties files", e); return null; } - }).filter(Objects::nonNull) + }) + .filter(Objects::nonNull) .filter(Files::isRegularFile) .collect(new SecretsPropertySourceCollector()) .forEach(composite::addPropertySource); @@ -192,8 +195,9 @@ public abstract class SecretsPropertySourceLocator implements PropertySourceLoca try { String content = new String(Files.readAllBytes(filePath)).trim(); + System.out.println("content is : " + content); String sourceName = fileName.toLowerCase(Locale.ROOT); - SourceData sourceData = new SourceData(sourceName, Collections.singletonMap(fileName, content)); + SourceData sourceData = new SourceData(sourceName, Map.of(fileName, content)); return new SecretsPropertySource(sourceData); } catch (IOException e) { diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/App.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/App.java index 23d76328..85c0d11c 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/App.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/App.java @@ -25,7 +25,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties */ @SpringBootApplication @EnableConfigurationProperties({ LeftProperties.class, RightProperties.class, RightWithLabelsProperties.class, - ConfigMapProperties.class, SecretsProperties.class }) + ConfigMapProperties.class, SecretProperties.class }) public class App { public static void main(String[] args) { diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/Controller.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/Controller.java index ffee7d53..94f0a31b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/Controller.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/Controller.java @@ -27,9 +27,9 @@ public class Controller { private final ConfigMapProperties configMapProperties; - private final SecretsProperties secretsProperties; + private final SecretProperties secretsProperties; - public Controller(ConfigMapProperties configMapProperties, SecretsProperties secretsProperties) { + public Controller(ConfigMapProperties configMapProperties, SecretProperties secretsProperties) { this.configMapProperties = configMapProperties; this.secretsProperties = secretsProperties; } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/SecretsProperties.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/SecretProperties.java similarity index 96% rename from spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/SecretsProperties.java rename to spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/SecretProperties.java index bcea2864..413e1bb0 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/SecretsProperties.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/java/org/springframework/cloud/kubernetes/k8s/client/reload/SecretProperties.java @@ -22,7 +22,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author wind57 */ @ConfigurationProperties("from.properties.secret") -public class SecretsProperties { +public class SecretProperties { private String key; diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/application-with-bootstrap.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/application-with-bootstrap.yaml index 220edfde..052f2286 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/application-with-bootstrap.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/application-with-bootstrap.yaml @@ -9,4 +9,3 @@ spring: mode: polling period: 5000 monitoring-secrets: true - diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/bootstrap-with-bootstrap.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/bootstrap-with-bootstrap.yaml index 8fcaa31b..a45a51e0 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/bootstrap-with-bootstrap.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/main/resources/bootstrap-with-bootstrap.yaml @@ -4,3 +4,7 @@ spring: secrets: paths: - /tmp/application.properties + enabled: true + + config: + enabled: false diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/java/org/springframework/cloud/kubernetes/k8s/client/reload/it/K8sClientReloadBase.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/java/org/springframework/cloud/kubernetes/k8s/client/reload/it/K8sClientReloadBase.java index 5655ab7f..cc91acce 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/java/org/springframework/cloud/kubernetes/k8s/client/reload/it/K8sClientReloadBase.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/java/org/springframework/cloud/kubernetes/k8s/client/reload/it/K8sClientReloadBase.java @@ -116,9 +116,9 @@ abstract class K8sClientReloadBase { protected static void manifestsSecret(Phase phase, Util util, String namespace, String imageName) { + V1Secret secret = (V1Secret) util.yaml("mount/secret.yaml"); V1Deployment deployment = (V1Deployment) util.yaml("mount/deployment-with-secret.yaml"); V1Service service = (V1Service) util.yaml("mount/service-with-secret.yaml"); - V1Secret secret = (V1Secret) util.yaml("mount/secret.yaml"); if (phase.equals(Phase.CREATE)) { util.createAndWait(namespace, null, secret); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/resources/mount/deployment-with-secret.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/resources/mount/deployment-with-secret.yaml index 9110c1f5..8633b5ba 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/resources/mount/deployment-with-secret.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/resources/mount/deployment-with-secret.yaml @@ -14,7 +14,7 @@ spec: serviceAccountName: spring-cloud-kubernetes-serviceaccount containers: - name: spring-cloud-kubernetes-k8s-client-reload - image: docker.io/springcloud/spring-cloud-kubernetes-k8s-client-reload:1 + image: docker.io/springcloud/spring-cloud-kubernetes-k8s-client-reload imagePullPolicy: IfNotPresent readinessProbe: httpGet: