spring-projects / spring-projects/spring-vault

Implement Vault Event Notification System for Kvv2 Hot Reload

Open
#966 1 comment 0 reactions 0 assignees View on GitHub

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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.