spring-cloud / spring-cloud/spring-cloud-config
API for listing {cipher} properties loaded
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 2k
- Forks
- 1.3k
- Avg merge
- 2d 59m
- Merged PRs (30d)
- 16
Description
For auditing or migration tool purposes (moving the backing secret store to Vault for example), it would be helpful to allow retrieving a list of the key names and values that have {cipher} properties.
Right now they are transparently replaced with the values which is great for runtime use but it's indistinguishable from normal properties.
The alternative of parsing all the source configuration files to search for the word {cipher}, reconstructing dotted paths from YAML, and keeping track of actually referenced values, hierarchy, and overrides is non-trivial.
I'm open to alternate methods to accomplish this as well.
Straw man proposal
Property source example
spring:
datasource:
username: dbuser
password: '{cipher}FKSAJDFGYOS8F7GLHAKERGFHLSAJ'
API endpoint
/decrypt/list
Output
spring.datasource.password=<actualpassword>
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the {cipher} property-source example and the proposed /decrypt/list endpoint, then trace how loaded properties are currently transparently replaced. Done means an agreed API can distinguish cipher properties from normal properties and return their key names and values for auditing or migration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring, spring-boot
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100