Skip to content

User and Contributor Oriented Architecture Guides #3545

Open
0 of 2 issues completed
Open
@mpstefan

Description

@mpstefan

As a potential or current user of NGF
I want architecture documentation that both explains a high level overview of NGF's architecture
And I want a developer-oriented guide to NGF architecture
So that I can understand how to maintain NGF and how to contribute to the project.

Background

The current architecture documentation for NGF is written and presented in a way for a new user or developer to be able to understand.

Some feedback on issues with the current documentation:

  • The Mermaid diagrams have small font and include too much information per diagram.
  • The relationship NGF has with the Kubernetes API is dubious just looking at the Diagram.
  • No clearly visible explanation of what our control and data planes are despite using the terms consistently throughout.
  • No sequence diagrams for config changes, traffic, etc
  • Gateway API objects do not reference the Kubernetes API in the diagram.
  • The component overview section seems to mix sequence and general descriptions.

To solve some of these issues, we will likely need two separate architecture documents:

  • One document available on docs.nginx.com with a broad overview intended for users of NGF.
  • Another document available in our developer documentation on GitHub intended for contributors of NGF.

Why this is needed:
So new developers and users can quickly understand our architecture without giving up and/or seeking a new product.

Acceptance

  • Two documents are created that explain NGF's architecture for users and contributors respectively.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestepicRepresents an epic. Contains sub-issues

    Type

    No type

    Projects

    Status

    🆕 New

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions