spring-projects / spring-projects/spring-vault
Implement Vault Event Notification System for Kvv2 Hot Reload
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 306
- Forks
- 202
- PR merge metrics
- No merged PRs in 30d
Description
Users would like to be able to reload Kvv2 but are currently not capable because the secret engine does not implement a ttl. Without a TTL the kvv2 engine cannot utilize the LeaseListener.
I propose we leverage Vaults Event Notification System (enterprise only) to listen for changes to kvv2 secrets and enable the client to hot reload. The mechanism works via websockets which can be implemented via via springs built in websockets functionality. The specific events would be kv-v2/data-{patch,write}.
Project Specific Questions:
- What project requirements are there for implementing a Enterprise only feature (any flags I need to set, etc?)
Open Questions:
- What changes need, if any, to bubble up to spring config vault (i think none)?
- Design for implementing filtering where applications may need to subscribe to many secrets (details link)
- Is it possible for users who use spring config vault's kvv2 implementation to benefit from this function (i dont think so but worth exploring)?
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 by reviewing the LeaseListener reference and Vault Event Notification System documentation, focusing on the kv-v2/data-patch and kv-v2/data-write events and websocket approach described here. Resolve the enterprise-only requirements, filtering design, and Spring Cloud Config Vault compatibility before implementation; the issue currently names no files or tests and does not define a settled done condition.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100