[PR #664] [MERGED] Use Peer.ID instead of Peer.Key as peer identifier #12842

Closed
opened 2026-08-05 02:06:49 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/664
Author: @braginini
Created: 1/27/2023
Status: Merged
Merged: 2/3/2023
Merged by: @braginini

Base: mainHead: feature/peer-id


📝 Commits (10+)

📊 Changes

22 files changed (+479 additions, -353 deletions)

View changed files

📝 management/server/account.go (+39 -27)
📝 management/server/account_test.go (+10 -10)
📝 management/server/dns_test.go (+39 -14)
📝 management/server/file_store.go (+68 -3)
📝 management/server/file_store_test.go (+1 -0)
📝 management/server/group.go (+13 -6)
📝 management/server/grpcserver.go (+13 -13)
📝 management/server/http/groups.go (+16 -5)
📝 management/server/http/groups_test.go (+4 -4)
📝 management/server/http/peers.go (+11 -23)
📝 management/server/http/routes.go (+10 -38)
📝 management/server/http/routes_test.go (+21 -16)
📝 management/server/metrics/selfhosted.go (+1 -1)
📝 management/server/mock_server/account_mock.go (+12 -12)
📝 management/server/peer.go (+61 -52)
📝 management/server/peer_test.go (+12 -12)
📝 management/server/route.go (+22 -19)
📝 management/server/route_test.go (+93 -67)
📝 management/server/store.go (+2 -1)
📝 management/server/turncredentials.go (+13 -13)

...and 2 more files

📄 Description

Describe your changes

Replace Peer.Key as internal identifier with a randomly generated Peer.ID in the Management service.
Every group now references peers by ID instead of a public key.
Every route now references peers by ID instead of a public key.
FileStore does store.json file migration on startup by generating Peer.ID and replacing
all Peer.Key identifier references .

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/664 **Author:** [@braginini](https://github.com/braginini) **Created:** 1/27/2023 **Status:** ✅ Merged **Merged:** 2/3/2023 **Merged by:** [@braginini](https://github.com/braginini) **Base:** `main` ← **Head:** `feature/peer-id` --- ### 📝 Commits (10+) - [`c8532a6`](https://github.com/netbirdio/netbird/commit/c8532a608bca87b3677886edb7afff825a94eeea) Use peer ID instead of a key - [`f7cb466`](https://github.com/netbirdio/netbird/commit/f7cb466957582d6324730600c12a88c9c018e04b) Fix compilation errors - [`f035324`](https://github.com/netbirdio/netbird/commit/f0353245aa8aa966053d559c7bb020946c235e37) Fix compilation errors - [`4c427aa`](https://github.com/netbirdio/netbird/commit/4c427aa7e17934b29c354da18106cb34e0d788eb) Fix FileStore GetAccountByPeerID by peerID lookup method - [`5d9e66d`](https://github.com/netbirdio/netbird/commit/5d9e66d8441313a2261d31b815557af5069504af) Fix account test - [`8721495`](https://github.com/netbirdio/netbird/commit/8721495834b0203b5d6f6cad298521ba6be024ad) Fix Routes tests - [`db037cb`](https://github.com/netbirdio/netbird/commit/db037cbbf9e4f7773026aabb137f004f7b874c6b) Fix peer and dns tests - [`07f5a2a`](https://github.com/netbirdio/netbird/commit/07f5a2a86798a2bdaf1689a3ff301fdee674d149) Fix lint issues - [`b4a1fcd`](https://github.com/netbirdio/netbird/commit/b4a1fcd9b31f6fb15b485a764bba10358ab12629) Use Peer ID instead of IP in the HTTP API - [`ac80b11`](https://github.com/netbirdio/netbird/commit/ac80b11e0976185c8fc506b996a3109ec6f13baa) Fix account tests ### 📊 Changes **22 files changed** (+479 additions, -353 deletions) <details> <summary>View changed files</summary> 📝 `management/server/account.go` (+39 -27) 📝 `management/server/account_test.go` (+10 -10) 📝 `management/server/dns_test.go` (+39 -14) 📝 `management/server/file_store.go` (+68 -3) 📝 `management/server/file_store_test.go` (+1 -0) 📝 `management/server/group.go` (+13 -6) 📝 `management/server/grpcserver.go` (+13 -13) 📝 `management/server/http/groups.go` (+16 -5) 📝 `management/server/http/groups_test.go` (+4 -4) 📝 `management/server/http/peers.go` (+11 -23) 📝 `management/server/http/routes.go` (+10 -38) 📝 `management/server/http/routes_test.go` (+21 -16) 📝 `management/server/metrics/selfhosted.go` (+1 -1) 📝 `management/server/mock_server/account_mock.go` (+12 -12) 📝 `management/server/peer.go` (+61 -52) 📝 `management/server/peer_test.go` (+12 -12) 📝 `management/server/route.go` (+22 -19) 📝 `management/server/route_test.go` (+93 -67) 📝 `management/server/store.go` (+2 -1) 📝 `management/server/turncredentials.go` (+13 -13) _...and 2 more files_ </details> ### 📄 Description ## Describe your changes Replace Peer.Key as internal identifier with a randomly generated Peer.ID in the Management service. Every group now references peers by ID instead of a public key. Every route now references peers by ID instead of a public key. FileStore does store.json file migration on startup by generating Peer.ID and replacing all Peer.Key identifier references . ## Issue ticket number and link ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [x] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 02:06:49 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#12842