Open
Description
As a cluster operator using NGF
I want to share the runtime state of all of my NGF data plane instances
So that a user's session can be consistently directed to the same upstream for their session for my stateful application
And so that rate limits can be tracked of across all data plane instances.
Background
By implementing runtime state sharing, we enable a few key use cases that are critically important for web server applications when the scale of NGF is more than a single pod.
Without state sharing:
- A user's session cannot be routed to the correct upstream for any stateful application.
- Any rate limit would be tracked independently for each data plane they happened to hit.
- OAuth sessions would require the user to log in every time their request hit a different data plane than their last.
While state sharing has it's uses for "backend" REST API traffic, especially around rate limiting, the primary driver of this feature is end users in a web application context.
Not included in this epic:
- OIDC Support
- Rate Limits
- Session Persistence
Acceptance Criteria
- NGF users are able to configure NGF to share runtime state with all data plane instances for a given Gateway.
Metadata
Metadata
Assignees
Type
Projects
Status
🆕 New