Skip to content

Commit cd2cac5

Browse files
authored
Design Session Persistence - Part 1 (#4158)
Problem: Need to get consensus on goals and non-goals for session persistence. Solution: Create a proposal doc to outline goals and non goals of the feature
1 parent fe604d9 commit cd2cac5

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Enhancement Proposal-4051: Session Persistence for NGINX Plus and OSS
2+
3+
- Issue: https://github.com/nginx/nginx-gateway-fabric/issues/4051
4+
- Status: Provisional
5+
6+
## Summary
7+
8+
Enable NGINX Gateway Fabric to support session persistence for both NGINX Plus and NGINX OSS, allowing application developers to configure basic session persistence using the `ip_hash` load balancing method in OSS and cookie-based session persistence in NGINX Plus.
9+
10+
## Goals
11+
12+
- Extend the Upstream Settings Policy API to allow specifying `ip_hash` load balancing method to support basic session persistence.
13+
- Design the translation of the Gateway API `sessionPersistence` specification, which can be configured on both HTTPRoute and GRPCRoute, into NGINX Plus cookie-based session persistence directives with `secure` and `httpOnly` mode enforced by default.
14+
15+
## Non-Goals
16+
17+
- Describe or implement low-level configuration details for enabling session persistence.
18+
- Extend session persistence support to TLSRoutes or other Layer 4 route types.
19+
- Supporting the `sameSite` cookie directive for NGINX Plus session persistence, which may be considered in the future as the Gateway API `sessionPersistence` specification evolves.
20+
21+
## Useful Links
22+
23+
- Session Persistence [specification](https://gateway-api.sigs.k8s.io/reference/spec/#sessionpersistence).
24+
- Extended Session Persistence [GEP](https://gateway-api.sigs.k8s.io/geps/gep-1619).
25+
- RFC standard for [Set-Cookie](https://datatracker.ietf.org/doc/html/rfc6265#section-4.1) header.

0 commit comments

Comments
 (0)