Skip to content

[doc]: Define in-box gNOI client access model - #2482

Open
hdwhdw wants to merge 1 commit into
sonic-net:masterfrom
hdwhdw:work/gnoi-client-access-hld
Open

[doc]: Define in-box gNOI client access model#2482
hdwhdw wants to merge 1 commit into
sonic-net:masterfrom
hdwhdw:work/gnoi-client-access-hld

Conversation

@hdwhdw

@hdwhdw hdwhdw commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Why I did it

sonic-buildimage PR 28341 adds a typed Python gNOI client to sonic-py-common. The package and access to the local gNMI/gNOI Unix socket are separate capabilities, so SONiC needs an explicit policy for granting that socket to in-box containers.

How I did it

Added an HLD that documents:

  • reproducible generation and distribution of the sonic_grpc System and File modules;
  • secure TCP, insecure local TCP, and Unix-domain-socket transports;
  • UDS application-authentication bypass, global authorization-policy limits, and privileged-container risk;
  • the certificate-absent plaintext loopback path; and
  • deny-by-default admission criteria and tests for future in-box consumers.

By default, the gnmi server owner has read-write access to /var/run/gnmi; swss, syncd, and pmon have no /var/run/gnmi mount.

Verification

  • npx --yes markdownlint-cli@0.45.0 doc/mgmt/gnmi/gnoi_client_access_hld.md
  • draw.io structural validation of the checked-in .drawio source: 0 errors, 0 warnings
  • SVG regenerated from the checked-in .drawio source and visually inspected for overlaps, crossings, and clipped labels

Dependencies

Signed-off-by: Dawei Huang <daweihuang@microsoft.com>
Copilot AI review requested due to automatic review settings August 3, 2026 01:49
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a new management-plane HLD to define the SONiC in-box gNOI Python client packaging boundary and a deny-by-default policy for granting containers access to the local gNMI/gNOI Unix-domain socket, along with a supporting access-model diagram.

Changes:

  • Documented the sonic_grpc (gNOI client) packaging model, transport options (secure TCP, insecure TCP, UDS), and security implications of UDS access.
  • Defined deny-by-default UDS admission criteria and suggested test expectations for future in-box consumers.
  • Added a draw.io source diagram for the package and access-policy model.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
doc/mgmt/gnmi/gnoi_client_access_hld.md New HLD describing the in-box gNOI client package boundary and UDS access policy/security model.
doc/mgmt/gnmi/images/gnoi_client_access.drawio New diagram source illustrating package generation/distribution and UDS admission/access paths.

@hdwhdw
hdwhdw requested a review from yxieca August 3, 2026 01:57
@hdwhdw

hdwhdw commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

/copilot review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants