Hello Spring Cloud Config Team,
Maybe a small bug with Ilford 2020.0.0 and SpringBoot 2.4.1
With a web app, 2.4.1 + Ilford 2020.0.0-RC1, the properties are being picked up correctly at client side.
When the client starts, I do see below logs, very happy 馃槂
[ main] c.a.Application : The following profiles are active: my-env
[ main] o.s.b.context.config.ConfigDataLoader : Fetching config from server at : https://my-service/config
[ main] o.s.b.context.config.ConfigDataLoader : Located environment: name=myservice, profiles=[my-env], label=null, version=7f95facc49b97272a0a3915650b12e56ea7440bf, state=null
[ main] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource configserver:https://my-git/myservice-my-env.properties [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper
note profiles=[my-env]
However, same code, just one change, Ilford 2020.0.0-RC1 -> Ilford 2020.0.0, the properties are not being picked up.
On startup, I am seeing the following instead:
[ main] c.a.Application : The following profiles are active: my-env
[ main] o.s.b.context.config.ConfigDataLoader : Fetching config from server at : https://my-service/config
[ main] o.s.b.context.config.ConfigDataLoader : Located environment: name=myservice, profiles=[default], label=null, version=7f95facc49b97272a0a3915650b12e56ea7440bf, state=null
[ main] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource Config resource 'class path resource [application.properties]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper
And then again reverted back to 2020.0.0-RC1, and working.
May I ask what is the root cause of this issue please?
Thank you
I just encountered the same issue, and created a reproduction path for @spencergibb and his team -> https://github.com/dnijssen/config-server-client . Seems to be a regression issue to me, as I can confirm it did indeed work with 2020.0.0-RC1
As a workaround to get the config client to send the right profile, set spring.cloud.config.profile to the same values as spring.profiles.active.
There is a second issue in config server where the names of the property sources are the same, so Default still gets returned because the correct property source gets overridden.
{
"name": "config-client",
"profiles": [
"test"
],
"label": null,
"version": null,
"state": null,
"propertySources": [
{
"name": "class path resource [config/config-client.yaml",
"source": {
"spring.config.activate.on-profile": "test",
"config-client.test": "Test"
}
},
{
"name": "class path resource [config/config-client.yaml",
"source": {
"config-client.test": "Default"
}
}
]
}
Ty for the workaround! I can indeed confirm the second issue as well :) Would you be able to convert that one into a seperate issue yourself? As you might be able better to describe it.