You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to integrate my Spring Boot app with Vault for loading secrets. The app runs on PCF environment so the main configuration file (application.properties) is configured appropriately. For local development, the vault authentication is done via a regular token. So I have created application-local.properties file with appropriate configuration for local development. Then I set the "Active Profiles" value to "local" under the run/debug configuration.
Problem is that when I try to start the app in IDEA, I get the following error. So it's clear that the vault related properties mentioned in application-local.properties are not being picked up during startup.
23:32:40.289 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalArgumentException: Illegal character in path at index 1: ${VAULT_ADDR}
at java.base/java.net.URI.create(URI.java:906)
at org.springframework.cloud.vault.config.VaultConfiguration.createVaultEndpoint(VaultConfiguration.java:121)
at org.springframework.cloud.vault.config.VaultConfigDataLoader$ImperativeInfrastructure.<init>(VaultConfigDataLoader.java:445)
at org.springframework.cloud.vault.config.VaultConfigDataLoader.registerImperativeInfrastructure(VaultConfigDataLoader.java:177)
Here is the complete pom and main application.properties and application-local.properties files.
I have generated the deployment artifact using command mvn clean install and then tried to run the app using java -jar demo-0.0.0.1-snapshot.jar -Dspring.profiles.active=local.
Since I'm passing the profile, I was expecting that configuration from the application-local.properties file will be picked up but from the stacktrace it seems like the main configuration file is being read.
Profile selection is subject to Spring Boot. Spring Cloud Vault uses Boot's ConfigData API and the failures in bootstrapping the Vault Client are a consequence of the provided configuration.
You're mentioning application-local.properties twice. With a application.properties and a application-local.properties along with -Dspring.profiles.active=local, I can successfully select the desired profile.
If you would like us to spend some more time helping you to diagnose the problem, please provide a minimal yet complete sample that reproduces the problem.
You can share it with us by pushing it to a separate repository on GitHub or by zipping it up and attaching it to this issue.
Hi there, I've noticed that I'm having the same issue, ie. i run my app with the flag -Dspring.profiles.active=staging but the app still reads the config from the default application.properties. I'm attaching a demo project on which the issue is present demo.zip
I had the same issue. Setting the spring.config.activate.on-profile property solved the problem.
So try to add spring.config.activate.on-profile=default to your application.properties and spring.config.activate.on-profile=local to your application-local.properties.
I'm trying to integrate my Spring Boot app with Vault for loading secrets. The app runs on PCF environment so the main configuration file (application.properties) is configured appropriately. For local development, the vault authentication is done via a regular token. So I have created application-local.properties file with appropriate configuration for local development. Then I set the "Active Profiles" value to "local" under the run/debug configuration.
Problem is that when I try to start the app in IDEA, I get the following error. So it's clear that the vault related properties mentioned in application-local.properties are not being picked up during startup.
Here is the complete pom and main application.properties and application-local.properties files.
I have generated the deployment artifact using command
mvn clean install
and then tried to run the app usingjava -jar demo-0.0.0.1-snapshot.jar -Dspring.profiles.active=local
.Since I'm passing the profile, I was expecting that configuration from the application-local.properties file will be picked up but from the stacktrace it seems like the main configuration file is being read.
pom.xml
application-local.properties
application-local.properties
The text was updated successfully, but these errors were encountered: