java-sdk icon indicating copy to clipboard operation
java-sdk copied to clipboard

A Cloud Config Client for SpringBoot, like Spring Cloud Vault

Open lony2003 opened this issue 9 months ago • 3 comments

Describe the proposal

Currently, the Dapr Java SDK has significantly improved support for Spring Boot. It's time to integrate Dapr's secret store and configuration as a backend for Spring Cloud Config.

The currently popular method for importing cloud config is through the spring.config.import configuration. According to the specification, a prefix is required. Since Dapr has two types of configurations (secret store and configuration), it might be necessary to distinguish between these two.

for example:

dapr:secret:dapr-config-example.properties?refreshEnabled=true dapr:config:dapr-config-example.properties?refreshEnabled=true

By the way, Dapr Configuration api supports subscribe update bot Secret Store is not according to the code. So do secret store need to be refresh?

Additionally, because cloud config runs during the bootstrap phase, it's not possible to use @Autowired to generate a DaprClient; it needs to be created manually. Whether users are allowed to import configurations different from the @Autowired DaprClient during this period is also a topic worth discussing.

Finally, how to handle cases where the corresponding data is not retrieved (e.g., throwing an error directly, running without configuration, or updating after going live) is another area that needs discussion.

lony2003 avatar Mar 03 '25 14:03 lony2003

Cool I also want to add this feature. When I saw boot cloud, I thought it was implemented based on Spring Cloud. The configuration capability in Spring is implemented in the cloud, and the existence of DAPR makes applications unaware of the cloud, so this feels a bit ambiguous.

seal90 avatar Mar 31 '25 05:03 seal90

Cool I also want to add this feature. When I saw boot cloud, I thought it was implemented based on Spring Cloud. The configuration capability in Spring is implemented in the cloud, and the existence of DAPR makes applications unaware of the cloud, so this feels a bit ambiguous.

@seal90 In Official Document, Spring Cloud means that this series of libraries are used for distributed systems development, so strictly speaking, I think all dapr spring libraries can be named with Spring Cloud.

lony2003 avatar Mar 31 '25 06:03 lony2003

Because we are extending based on springboot, I believe that using 'dapr. configuration' is superior to 'dapr. cloudconfig' The word 'configuration' used in both documentation and code, for example https://docs.dapr.io/getting-started/quickstarts/configuration-quickstart/ https://github.com/dapr/java-sdk/blob/master/examples/src/main/java/io/dapr/examples/configuration/ConfigurationClient.java Yes, due to the special nature of the word 'configuration', it may be confused with Spring configuration parameters, but the expression 'DaperConfiguration' should be understandable to most people who understand dapr.

Cool I also want to add this feature. When I saw boot cloud, I thought it was implemented based on Spring Cloud. The configuration capability in Spring is implemented in the cloud, and the existence of DAPR makes applications unaware of the cloud, so this feels a bit ambiguous.

@seal90 In Official Document, Spring Cloud means that this series of libraries are used for distributed systems development, so strictly speaking, I think all dapr spring libraries can be named with Spring Cloud.

Because we are extending based on springboot, I believe that using 'dapr. configuration' is superior to 'dapr. cloudconfig' The word 'configuration' used in both documentation and code, for example https://docs.dapr.io/getting-started/quickstarts/configuration-quickstart/ https://github.com/dapr/java-sdk/blob/master/examples/src/main/java/io/dapr/examples/configuration/ConfigurationClient.java Yes, due to the special nature of the word 'configuration', it may be confused with Spring configuration parameters, but the expression 'DaperConfiguration' should be understandable to most people who understand dapr.

seal90 avatar Apr 10 '25 00:04 seal90