From 03cd8e43a7afd2b932c94ef9933aab3a40543a07 Mon Sep 17 00:00:00 2001 From: kpentchev Date: Thu, 23 Feb 2023 10:54:53 +0200 Subject: [PATCH] Do not override `kv.profiles` in `VaultConfigDataLocationResolver` if already set. Current implementation overrides any profiles set through `spring.cloud.vault.kv.profiles` with the currently active profile, which is possibly unwanted behavior and prevents fine grained configuration. Closes gh-648 --- .../cloud/vault/config/VaultConfigDataLocationResolver.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultConfigDataLocationResolver.java b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultConfigDataLocationResolver.java index 5cc02ce1..9c7d3899 100644 --- a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultConfigDataLocationResolver.java +++ b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultConfigDataLocationResolver.java @@ -194,7 +194,9 @@ public class VaultConfigDataLocationResolver implements ConfigDataLocationResolv kvProperties.setApplicationName(binder.bind("spring.cloud.vault.kv.application-name", String.class) .orElseGet(() -> binder.bind("spring.cloud.vault.application-name", String.class) .orElseGet(() -> binder.bind("spring.application.name", String.class).orElse("")))); - kvProperties.setProfiles(profiles.getActive()); + if (kvProperties.profiles == null) { + kvProperties.setProfiles(profiles.getActive()); + } return kvProperties; }