Skip to content

manifests/meshnet: sync to hardened drivenets fork v0.5.0-dn#21

Closed
msupinodn wants to merge 1 commit into
mainfrom
sync/meshnet-v0.5.0-dn
Closed

manifests/meshnet: sync to hardened drivenets fork v0.5.0-dn#21
msupinodn wants to merge 1 commit into
mainfrom
sync/meshnet-v0.5.0-dn

Conversation

@msupinodn
Copy link
Copy Markdown
Collaborator

Summary

Swap the bundled meshnet manifest (grpc + vxlan flavours) from upstream
networkop/meshnet:v0.3.2 to public.ecr.aws/drivenets/meshnet-cni:v0.5.0-dn,
the hardened drivenets fork built in msupinodn/meshnet-cni#2.

Carries the matching RBAC narrowing and the new nodes get/list/watch rule
the daemon needs to build the peer-IP allowlist used by validatePeerNodeIP.

Effect on kubectl apply -f URL

Internal install docs can now use:

kubectl apply -f https://raw.githubusercontent.com/drivenets/kne/refs/heads/main/manifests/meshnet/grpc/manifest.yaml

i.e. swap openconfig/ -> drivenets/ in the URL and get the hardened
image + narrowed RBAC automatically. No other edits needed.

Test plan

  • Applied locally on dev cluster against the previously-installed upstream
    v0.3.2 - clean rollout, no RBAC errors, sitea topology comes up with
    meshnet-wired links (eno0/eno1) inside both pods.
  • Daemon log shows no forbidden / unauthorized after RBAC narrowing.
  • Image digest in ECR: sha256:678e2b30...be45d.

Made with Cursor

Pulls in the meshnet-cni release v0.5.0-dn (msupinodn/meshnet-cni#2):

  * Image bumped from upstream
    us-west1-docker.pkg.dev/kne-external/kne/networkop/meshnet:v0.3.2
    to
    public.ecr.aws/drivenets/meshnet-cni:v0.5.0-dn

  * RBAC narrowed: drop verbs ["*"], pin to actually-exercised verbs on
    topologies (get/list/watch/update/patch) and gwirekobjs
    (+create/delete). Adds nodes get/list/watch so the daemon can build
    the peer-IP allowlist used by validatePeerNodeIP / handler.Get to
    reject SSRF attempts via tampered topology CR status.src_ip.

  * Adds explicit cpu limit (2) and aligns memory limits/requests with
    the meshnet-cni source-of-truth manifests.

  * Removes hostIPC: true (unused; meshnet relies on hostNetwork +
    Bidirectional netns mount, not shared IPC).

This lets internal docs use the same install URL with drivenets/ in
place of openconfig/ and get the hardened version automatically:

  kubectl apply -f \
    https://raw.githubusercontent.com/drivenets/kne/refs/heads/main/manifests/meshnet/grpc/manifest.yaml

Co-authored-by: Cursor <cursoragent@cursor.com>
@msupinodn
Copy link
Copy Markdown
Collaborator Author

Superseded - keeping the meshnet manifest as the single source of truth in msupinodn/meshnet-cni. Install docs will point there instead.

@msupinodn msupinodn closed this May 26, 2026
@msupinodn msupinodn deleted the sync/meshnet-v0.5.0-dn branch May 26, 2026 06:35
@msupinodn
Copy link
Copy Markdown
Collaborator Author

Reopening - keeping the bundled kne meshnet manifest in sync so the drivenets/kne URL also serves the hardened image.

@msupinodn msupinodn restored the sync/meshnet-v0.5.0-dn branch May 26, 2026 06:36
@coveralls
Copy link
Copy Markdown

Coverage Report for CI Build 26436398092

Coverage remained the same at 39.473%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 12307
Covered Lines: 4858
Line Coverage: 39.47%
Coverage Strength: 0.45 hits per line

💛 - Coveralls

@msupinodn msupinodn deleted the sync/meshnet-v0.5.0-dn branch May 26, 2026 06:52
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