Skip to content

CP/DP Split: Support configuring NodePorts #3343

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

Open
wants to merge 1 commit into
base: change/control-data-plane-split
Choose a base branch
from

Conversation

sjberman
Copy link
Collaborator

@sjberman sjberman commented Apr 29, 2025

Problem: Now that the control plane provisions the NGINX Service, users can't set specific NodePorts values.

Solution: Allow users to specify NodePorts in the helm chart (globally) and in the NginxProxy resource.

Testing: Verified that NodePorts are configurable and accessible.

Closes #3240

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.


Problem: Now that the control plane provisions the NGINX Service, users can't set specific NodePorts values.

Solution: Allow users to specify NodePorts in the helm chart (globally) and in the NginxProxy resource.
@sjberman sjberman requested a review from a team as a code owner April 29, 2025 21:03
@github-actions github-actions bot added documentation Improvements or additions to documentation chore Pull requests for routine tasks helm-chart Relates to helm chart labels Apr 29, 2025
Copy link

codecov bot commented Apr 29, 2025

Codecov Report

Attention: Patch coverage is 79.41176% with 21 lines in your changes missing coverage. Please review.

Project coverage is 86.66%. Comparing base (6337c97) to head (9ea88eb).
Report is 264 commits behind head on change/control-data-plane-split.

Files with missing lines Patch % Lines
internal/mode/static/provisioner/handler.go 55.17% 5 Missing and 8 partials ⚠️
internal/mode/static/provisioner/provisioner.go 33.33% 2 Missing and 2 partials ⚠️
internal/mode/static/provisioner/store.go 93.44% 3 Missing and 1 partial ⚠️
Additional details and impacted files
@@                         Coverage Diff                         @@
##           change/control-data-plane-split    #3343      +/-   ##
===================================================================
- Coverage                            89.74%   86.66%   -3.09%     
===================================================================
  Files                                  109      129      +20     
  Lines                                11150    14837    +3687     
  Branches                                50       62      +12     
===================================================================
+ Hits                                 10007    12858    +2851     
- Misses                                1083     1831     +748     
- Partials                                60      148      +88     

☔ 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.

Comment on lines +537 to +542
// NodePorts are the list of NodePorts to expose on the NGINX data plane service.
// Each NodePort MUST map to a Gateway listener port, otherwise it will be ignored.
// The default NodePort range enforced by Kubernetes is 30000-32767.
//
// +optional
NodePorts []NodePort `json:"nodePorts,omitempty"`
Copy link
Contributor

Choose a reason for hiding this comment

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

are we adding any sort of validation to enforce this range?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

No, because a user can change the range to be whatever they want. This is just the k8s default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Pull requests for routine tasks documentation Improvements or additions to documentation helm-chart Relates to helm chart
Projects
Status: 🆕 New
Development

Successfully merging this pull request may close these issues.

2 participants