Skip to content

Conversation

@salonichf5
Copy link
Contributor

Proposed changes

Write a clear and concise description that helps reviewers understand the purpose and impact of your changes. Use the
following format:

Problem: Users want sessionPersistence for their server communication

Solution: Add a detailed approach on how to support sessionPersistence for NGF while being community conformant.

Testing: Did a couple of manual checks

  • IP hash working over a set of upstreams and what happens when it fails.
  • GRPC connections sending cookie header and responding with correct backend when that cookie is used to send a request again.
  • HTTPRoutes verified sessionPersistence working when right cookie sent back in the curl. If it fails, defaults to round robin while generating cookie ID each session.

Please focus on (optional): If you any specific areas where you would like reviewers to focus their attention or provide
specific feedback, add them here.

Closes #4051

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

Release notes

If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.

NONE

@salonichf5 salonichf5 requested review from a team as code owners November 5, 2025 18:49
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Nov 5, 2025
@codecov
Copy link

codecov bot commented Nov 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.09%. Comparing base (b960d89) to head (a1694d5).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4221      +/-   ##
==========================================
+ Coverage   86.08%   86.09%   +0.01%     
==========================================
  Files         131      131              
  Lines       14171    14174       +3     
  Branches       35       35              
==========================================
+ Hits        12199    12203       +4     
+ Misses       1768     1767       -1     
  Partials      204      204              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Collaborator

@sjberman sjberman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Be sure to fill out the security/testing/use case sections as provided in the proposal template.

@salonichf5 salonichf5 force-pushed the docs/session-persistence branch from d9cd13c to 462e832 Compare November 6, 2025 17:40
@salonichf5 salonichf5 force-pushed the docs/session-persistence branch from 9305545 to 8ba0f9e Compare November 10, 2025 20:45

### Session Persistence for NGINX Plus users

In NGINX Plus, session persistence is implemented with the `sticky` directive.The directive supports cookie, header, and learn modes; this design only discusses the cookie-based method and the rest are out of scope.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this design only discusses the cookie-based method and the rest are out of scope.
but we still have ip_hash design above, or it is just for general understanding?

Copy link
Contributor

@ciarams87 ciarams87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

Status: 🆕 New

Development

Successfully merging this pull request may close these issues.

Design for session persistence for both OSS/Nginx Plus

5 participants