Skip to content

docs: correct the architecture page against the router and node code - #764

Merged
aojea merged 6 commits into
google:mainfrom
kaisoz:kaisoz/fix-docs-architecture
Oct 20, 2026
Merged

aojea merged 6 commits into
google:mainfrom
kaisoz:kaisoz/fix-docs-architecture

Conversation

@kaisoz

@kaisoz kaisoz commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

Why

The architecture page describes how the routers keep the directory, what a router enforces, and how a node reports its catalog. The code no longer works that way in those three places. The page also calls the control plane chart by the SDK package name.

What changed

  • Routers keep directory records in their own store and place copies on the closest routers. The Kademlia table only picks those routers. A router applies the mesh policy to directory records.
  • A node reports its catalog to the control plane every minute. The decision table gains a row for who decides that a member may serve a service.
  • The chart is agentmesh on every page that named it agentmesh-p2p. A control plane with no policy admits only nodes that present a bootstrap token.

Scope

  • One commit per corrected claim, docs only.
  • Three of the chart-name fixes are on pages outside the architecture page: the Kubernetes guide, the router reference and the contributing index.

Verification

  • Each claim was checked against the router directory, the node's catalog report loop and the /register handler.
  • The site builds with Hugo 0.147.5, and the new link to the networking discovery section resolves.

The architecture page said the routers keep the directory as a Kademlia
DHT. A router keeps its members' records in its own store and places a
copy on the routers closest to the key over /mesh/directory/1.0.0. The
Kademlia routing table only picks those routers.
The architecture page said a router has no policy of its own. The router
syncs the mesh policy and refuses a record for a service that the
member's credential does not grant serving.
The architecture page said a node publishes its services to the control
plane's catalog on request. The node posts its catalog to
/nodes/catalog every minute, for the console to show.
The architecture page's decision table had no row for publishing. The
router checks the member's allowed_publish grant when the member
announces a service, and the calling node checks it again before it
sends a request.
Four pages named the chart agentmesh-p2p, which is the SDK package
name. The chart in charts/agentmesh is named agentmesh.
The architecture page said a new control plane with no policy admits
nodes. /register refuses an OIDC identity that no binding gives the
requested role, so with no policy only a node with a bootstrap token
enrolls, and its credential grants nothing.
@kaisoz
kaisoz requested a review from aojea as a code owner October 19, 2026 21:41

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the documentation to reflect architectural changes, including renaming the agentmesh-p2p Helm chart to agentmesh, detailing how agentmesh-router manages directory records and mesh policy syncing, and clarifying node reporting behavior. The review feedback suggests refining the description of control plane admission to include both nodes and routers when using bootstrap tokens.


Every one of these decisions is deny by default. A new control plane with
no policy admits nodes but grants them nothing, and a node with no services
no policy admits only nodes that present a bootstrap token, and grants them

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Since routers also enroll using bootstrap tokens, stating that the control plane admits only nodes with a bootstrap token is slightly restrictive. It would be more accurate to say 'nodes and routers' or 'peers'.

Suggested change
no policy admits only nodes that present a bootstrap token, and grants them
no policy admits only nodes and routers that present a bootstrap token, and grants them

@aojea
aojea merged commit 7fe5aa2 into google:main Oct 20, 2026
21 checks passed
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.

2 participants