Skip to content

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

Merged
msupinodn merged 1 commit into
mainfrom
sync/meshnet-v0.5.0-dn
May 26, 2026
Merged

manifests/meshnet: sync to hardened drivenets fork v0.5.0-dn#22
msupinodn merged 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) from upstream
networkop/meshnet:v0.3.2 to public.ecr.aws/drivenets/meshnet-cni:v0.5.0-dn,
the hardened drivenets fork from msupinodn/meshnet-cni#2.

Carries the matching RBAC narrowing and the new nodes get/list/watch
rule the daemon needs for validatePeerNodeIP (peer-IP SSRF mitigation).

Why this lives in two PRs

The source of truth for the meshnet manifest is msupinodn/meshnet-cni
(next to the code). This repo carries a copy under
manifests/meshnet/grpc/manifest.yaml because it bundles its own
installer like upstream openconfig/kne. GitHub can't make a single PR
span two repos, so this is the mirror commit.

Install URL after merge

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 you had before.

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

Copy link
Copy Markdown

Coverage Report for CI Build 26436497085

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 merged commit bd09897 into main May 26, 2026
7 of 9 checks passed
@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