With Spring Cloud Config Server any spring.profiles.active
and spring.profiles.include
properties should only apply to the server-side. The config should ignore them. See #24876 and https://github.com/spring-cloud/spring-cloud-config/issues/1788 for additional background.
Since we don't want to revert #24733, we need to find a way for Spring Cloud's ConfigServerConfigDataLocationResolver
to indicate that a property source should not process any of it's profile properties. It looks like we might be able to do this by adding a ConfigData.IGNORE_PROFILES
option that Spring Cloud can set.
Comment From: philwebb
I've got a fix that should restore previous Spring Cloud Config Server behavior. There is one unfortunate issue that I can't fix until Spring Boot 2.5. If you have a spring.profiles.active
property defined only on the server-side, there is no way to not have it apply to the client-side. This is due to AbstractEnvironment.doGetActiveProfiles().
I think we can live with this limitation for now, since the same thing happened with previous versions of Spring Cloud/Boot.