spring-cloud / spring-cloud/spring-cloud-config

API for listing {cipher} properties loaded

Open
#1,701 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

waiting for votes
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.