Skip to content

Conversation

@kate-osborn
Copy link
Contributor

Proposed changes

Adds architecture and design principles doc.

Problem: The project has no document that explains the architecture or design principles.

Solution: I added a document that describes the high-level architecture and proposes some design principles.

The architecture portions of the doc are high-level. I mimicked the structure and diagrams from the first half of NIC's How NGINX Ingress Controller Works doc, but I did not include any diagrams or explanations of the architecture of the code. I anticipate the code's architecture will change and do not want to commit us to update this doc every time we make a code change. As our architecture stabilizes, we can expand this document to provide a more comprehensive overview.

Testing: None

Please focus on (optional): The design principles are aspirational. We may not follow all of them today. They are based on a document that @pleshakov started early in the project. I am looking for feedback on them; they are all up for debate.

Closes #673

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

@kate-osborn kate-osborn requested a review from a team as a code owner June 5, 2023 23:24
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Jun 5, 2023
@kate-osborn kate-osborn requested review from pleshakov and sjberman June 6, 2023 19:58
Copy link
Member

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

Made a few suggestions, but otherwise LGTM! Very well written, and easy to understand.

@kate-osborn kate-osborn merged commit 4e293d7 into nginx:main Jun 16, 2023
miledxz added a commit to miledxz/nginx-gateway-fabric that referenced this pull request Jan 14, 2025
Problem: There's no document that describes how NKG works or what our design principles are. 
Solution: Add an architecture and design principles doc.
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

None yet

Development

Successfully merging this pull request may close these issues.

Add architecture and design doc

5 participants