Skip to content

A Cloud Config Client for SpringBoot, like Spring Cloud Vault #1225

@lony2003

Description

@lony2003

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.

Activity

linked a pull request that will close this issue on Mar 4, 2025
added this to the v1.15 milestone on Mar 6, 2025
seal90

seal90 commented on Mar 31, 2025

@seal90
Contributor

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.

lony2003

lony2003 commented on Mar 31, 2025

@lony2003
Author

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.

seal90

seal90 commented on Apr 10, 2025

@seal90
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

    Development

    Participants

    @cicoyle@lony2003@seal90

    Issue actions

      A Cloud Config Client for SpringBoot, like Spring Cloud Vault · Issue #1225 · dapr/java-sdk