Skip to content

NGF: Add Deploy data plane doc #530

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 5 commits into
base: ngf-feature-cp-dp-split
Choose a base branch
from

Conversation

bjee19
Copy link

@bjee19 bjee19 commented May 6, 2025

Proposed changes

Add "Deploy Data plane document" to guide users on how to create and modify the NGINX Data Plane.

Problem: Users want a guide on how to create and modify the NGINX Data Plane.

Solution: Added the guide.

Testing: Tested with make watch

Closes nginx/nginx-gateway-fabric#3237

Checklist

Before merging a pull request, run through this checklist and mark each as complete.

  • I have read the contributing guidelines
  • I have signed the F5 Contributor License Agreement (CLA)
  • I have rebased my branch onto main
  • I have ensured my PR is targeting the main branch and pulling from my branch from my own fork
  • I have ensured that the commit messages adhere to Conventional Commits
  • I have ensured that documentation content adheres to the style guide
  • If the change involves potentially sensitive changes1, I have assessed the possible impact
  • If applicable, I have added tests that prove my fix is effective or that my feature works
  • I have ensured that existing tests pass after adding my changes
  • If applicable, I have updated README.md and CHANGELOG.md

Footnotes

  1. Potentially sensitive changes include anything involving code, personally identify information (PII), live URLs or significant amounts of new or revised documentation. Please refer to our style guide for guidance about placeholder content.

@bjee19 bjee19 requested a review from a team as a code owner May 6, 2025 23:08
@github-actions github-actions bot added documentation Improvements or additions to documentation product/ngf Issues related to NGINX Gateway Fabric labels May 6, 2025
@bjee19 bjee19 requested a review from a team May 6, 2025 23:08
Copy link
Contributor

@ADubhlaoich ADubhlaoich left a comment

Choose a reason for hiding this comment

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

Generally LGTM, but I have a lot of edit suggestions.

Shell examples are inconsistent: the start of the document delineates the shell command and the output into different code blocks, while later the command and output are put into the same blocks.

In the former case, a reader can easily copy the command - in the latter case, they cannot, and if they go to manually copy the command, they'll be forced to also strip away the shell prompts and other decorations.

I favour the former for general UX, but you can also just block the shell block and the text output together: no need to add text like "You should see these conditions".

...
```

{{< note >}} In order for the changes to propagate onto the Service, it needs to be manually restarted. {{< /note >}}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
{{< note >}} In order for the changes to propagate onto the Service, it needs to be manually restarted. {{< /note >}}
{{< note >}} You must manually restart the service for changes to take effect. {{< /note >}}

Copy link
Contributor

Choose a reason for hiding this comment

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

We need to restart the service to have its labels and annotations set properly? I wouldn't think those fields needed to have the happen. Does that mean delete it and have it re-created?

Copy link
Author

Choose a reason for hiding this comment

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

@sjberman yea, just double checked, it needs to be deleted, and NGF re-creates it.

I wouldn't think those fields need to happen that way either, but that seems to be the current behavior. Do you think that should be changed? Weird that the type of Service doesn't require manual intervention but labels/annotations do

Copy link
Contributor

Choose a reason for hiding this comment

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

Do the labels/annotations on the Deployment get set properly? Or any other provisioned resource?

There may be a bug if none of that is working.

Copy link
Author

Choose a reason for hiding this comment

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

yea the labels/annotations on the Deployment, replicaset, and pod all get set properly, just not the Service

Copy link
Contributor

Choose a reason for hiding this comment

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

Hm, that may be worth investigating. For some fields like IP it makes sense that the Service would need to restart, but labels and annotations should just be applied.

Copy link
Author

Choose a reason for hiding this comment

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

Ok let me take a look around

Copy link
Contributor

Choose a reason for hiding this comment

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

FWIW, running kubectl label on the service works without needing to restart the service, so I feel like there's a bug here

Copy link
Contributor

Choose a reason for hiding this comment

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

I also checked and the labels don't get applied to any of the ConfigMaps either, so it's not limited to Services.

Copy link
Author

Choose a reason for hiding this comment

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

issue has been identified and fixed, so i will remove this note

...
```

{{< note >}} In order for the changes to propagate onto the Service, it needs to be manually restarted. {{< /note >}}
Copy link
Contributor

Choose a reason for hiding this comment

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

We need to restart the service to have its labels and annotations set properly? I wouldn't think those fields needed to have the happen. Does that mean delete it and have it re-created?

Copy link
Contributor

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

LGTM, pending the update to the label issue if we can fix that.

@mjang
Copy link
Contributor

mjang commented May 8, 2025

FYI, comment only: we have a definition for Data plane in our N1C glossary: https://docs.nginx.com/nginx-one/glossary/


```shell
kubectl get service cafe-nginx
```

Choose a reason for hiding this comment

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

shouldn't we want spacing between code blocks? @ADubhlaoich i remember it being a rule before

Copy link

@salonichf5 salonichf5 left a comment

Choose a reason for hiding this comment

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

small formatting edits and questions but lgtm

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 product/ngf Issues related to NGINX Gateway Fabric
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants