Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State Sharing #4668

Open
11 tasks
brianehlert opened this issue Nov 16, 2023 · 1 comment
Open
11 tasks

State Sharing #4668

brianehlert opened this issue Nov 16, 2023 · 1 comment
Labels
refined Issues that are ready to be prioritized
Milestone

Comments

@brianehlert
Copy link
Collaborator

brianehlert commented Nov 16, 2023

Overview

As a user of NGINX Ingress Controller, I would like to ensure that all of my pods are aware of each-others state to ensure constant behaviour when configuring policies such as Rate Limiting

High-level Functional Requirements

  • Provide users with a means to enable and configure state sharing

Definition of Done

Development

  • Unit tests are written to cover functionality delivered in the story.
  • Make sure that the unit test passes before creating a pull request.
  • Make sure that the test coverage stays optimal.
  • Run make lint locally before creating a PR.

Testing

  • Automated tests are written as part of the story.
  • Run “make lint-python“ from root
  • Acceptance criteria are met.
  • Stories are demonstrated to the team.
  • Product Manager accepts the story as done.
  • If a feature requires changes/extensions of the Helm chart, those shall be done as part of the story.

Release Notes & Documentation

  • PR is labeled appropriately so they display in GitHub release notes.


References

Guide on "cluster" ratelimiting (mentions zone_sync and zone for different contexts)

https://www.f5.com/company/blog/nginx/nginx-plus-r16-released#r16-cluster-rate-limiting

NGINX Admin guide on zone_sync for state sharing

https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync_details/

NGINX stick directive for upstreams

https://nginx.org/en/docs/http/ngx_http_upstream_module.html#sticky

What is zone_sync?

The ngx_stream_zone_sync_module module (1.13. 8) provides the necessary support for synchronizing contents of shared memory zones between nodes of a cluster

@brianehlert brianehlert added proposal An issue that proposes a feature request backlog Pull requests/issues that are backlog items labels Nov 16, 2023
@brianehlert brianehlert added this to the v3.5.0 milestone Nov 16, 2023
@brianehlert brianehlert added the epic Issues that need to be broken into smaller issues label Dec 1, 2023
@brianehlert brianehlert removed this from the v3.5.0 milestone Jan 3, 2024
@danielnginx danielnginx removed the proposal An issue that proposes a feature request label Jan 11, 2024
@jasonwilliams14 jasonwilliams14 self-assigned this Feb 13, 2024
@brianehlert brianehlert changed the title Provide a simple method to enable state sharing Epic - Provide a simple method to enable state sharing Feb 22, 2024
@brianehlert brianehlert added this to the v3.7.0 milestone Feb 25, 2024
@shaun-nx shaun-nx changed the title Epic - Provide a simple method to enable state sharing Provide a simple method to enable state sharing Jun 28, 2024
@shaun-nx shaun-nx modified the milestones: v3.7.0, v3.8.0 Aug 15, 2024
@shaun-nx shaun-nx modified the milestones: v3.8.0, Candidates Sep 5, 2024
@shaun-nx shaun-nx added this to the v4.1.0 milestone Oct 14, 2024
@shaun-nx shaun-nx removed the epic Issues that need to be broken into smaller issues label Oct 14, 2024
@shaun-nx shaun-nx changed the title Provide a simple method to enable state sharing State Sharing Oct 14, 2024
@shaun-nx shaun-nx added ready for refinement An issue that was triaged and it is ready to be refined and removed backlog Pull requests/issues that are backlog items labels Oct 14, 2024
@danielnginx
Copy link
Collaborator

@shaun-nx should the state sharing be on by default?

@danielnginx danielnginx added the needs more info Issues that require more information label Nov 12, 2024
@shaun-nx shaun-nx removed the needs more info Issues that require more information label Dec 3, 2024
@shaun-nx shaun-nx modified the milestones: v4.1.0, v4.2.0 Dec 6, 2024
@shaun-nx shaun-nx added refined Issues that are ready to be prioritized and removed ready for refinement An issue that was triaged and it is ready to be refined labels Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refined Issues that are ready to be prioritized
Projects
Status: In Progress 🛠
Development

No branches or pull requests

4 participants