Commit 8988d36
012 - Hot reload feature proposal (#83)
* hot reload feature proposal
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* replace file watcher with HTTP based approach
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Restructure proposal to reflect discussion consensus
Rewrite the hot reload proposal to focus on architectural decisions
rather than implementation detail. The PR discussion has established
consensus on several key points that the document didn't reflect:
- Reframe around applyConfiguration(Configuration) as the core API,
decoupled from trigger mechanisms (HTTP, file watcher, operator)
- Remove all Java class implementations and handler chains — these
belong in the code PR where they're reviewable in context
- Call out remove+add with brief per-cluster downtime as deliberate
- Call out all-or-nothing rollback as the initial default, consistent
with startup behaviour
- Move ReloadOptions to deployment-level static configuration rather
than per-call parameters
- Identify plugin resource tracking as a known gap with pointer to
separate proposal
- Flag open questions (config granularity, failure behaviour options,
drain timeout configurability)
- Defer trigger mechanism design as explicit future work
Assisted-by: Claude claude-opus-4-6 <noreply@anthropic.com>
Signed-off-by: Sam Barker <sam@quadrocket.co.uk>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Address review feedback on restructured proposal
- Fix summary to read as proposed behaviour, not existing
- Use "administrators" instead of "operators" for humans to avoid
confusion with the Kubernetes operator process
- Fix filter config examples (KMS endpoint, key selection pattern)
- Clarify failure behaviour is consistent across trigger mechanisms
- Note thundering herd as a known trade-off of remove+add
- Fix "original proposal" to "earlier iterations"
Assisted-by: Claude claude-opus-4-6 <noreply@anthropic.com>
Signed-off-by: Sam Barker <sam@quadrocket.co.uk>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* updated hot reload proposal as per the new virtual lifecycle state proposal
This proposal introduces a mechanism for applying configuration changes to a running Kroxylicious proxy without a full restart. It defines a core `applyConfiguration(Configuration)` operation that detects changes and restarts only affected virtual clusters.
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Refine hot reload proposal with new policies and layers
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Fix wording as per comments
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* refactor
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Added javadoc to public applyConfiguration API
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Rename proposal to use PR number
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Updated design doc as per latest discussion
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Added concurrency section, PR comments
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Updated Compatibility section
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Update document to reflect latest PR comments
Signed-off-by: Urjit Patel <upatel@confluent.io>
* handled ConcurrentApplyException in trigger examples
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Fix indentation
Signed-off-by: Urjit Patel <upatel@confluent.io>
* Rename applyConfiguration to reconfigure and rename associated classes
Signed-off-by: Urjit Patel <upatel@confluent.io>
---------
Signed-off-by: Urjit Patel <105218041+Uzziee@users.noreply.github.com>
Signed-off-by: Urjit Patel <upatel@confluent.io>
Signed-off-by: Sam Barker <sam@quadrocket.co.uk>
Co-authored-by: Sam Barker <sam@quadrocket.co.uk>1 parent faf965b commit 8988d36
1 file changed
Lines changed: 487 additions & 0 deletions
0 commit comments