Commit Graph

578 Commits

Author SHA1 Message Date
bcmmbaga
1548542df3
Merge branch 'feature/optimize-network-map-updates' into feature/validate-group-association
# Conflicts:
#	management/server/dns_test.go
#	management/server/group.go
#	management/server/nameserver.go
#	management/server/peer.go
#	management/server/peer_test.go
#	management/server/user.go
2024-08-13 16:30:04 +03:00
bcmmbaga
34114d4a55
Fix peers update by including NetworkMap and posture Checks 2024-08-12 18:01:07 +03:00
bcmmbaga
f3ec200985
Merge branch 'main' into feature/optimize-network-map-updates 2024-08-12 13:49:02 +03:00
Bethuel Mmbaga
539480a713
[management] Prevent removal of All group from peers during user groups propagation (#2410)
* Prevent removal of "All" group from peers

* Prevent adding "All" group to users and setup keys

* Refactor setup key group validation
2024-08-12 13:48:05 +03:00
bcmmbaga
8ecbe675a1
Merge branch 'main' into feature/optimize-network-map-updates
# Conflicts:
#	management/server/peer.go
2024-08-09 10:55:31 +03:00
Bethuel Mmbaga
0911163146
Add batch delete for groups and users (#2370)
* Refactor user deletion logic and introduce batch delete

* Prevent self-deletion for users

* Add delete multiple groups

* Refactor group deletion with validation

* Fix tests

* Add bulk delete functions for Users and Groups in account manager interface and mocks

* Add tests for DeleteGroups method in group management

* Add tests for DeleteUsers method in users management
2024-08-08 18:01:38 +03:00
Viktor Liu
ac0d5ff9f3
[management] Improve mgmt sync performance (#2363) 2024-08-07 10:52:31 +02:00
Maycon Santos
54d896846b
Skip network map check if not regular user (#2402)
when getting all peers we don't need to calculate network map when not a regular user
2024-08-07 10:22:12 +02:00
David Fry
f84b606506
add extra auth audience (#2350) 2024-08-01 18:52:50 +02:00
keacwu
216d9f2ee8
Adding geolocation download log message. (#2085)
* Adding geolocation download prompt message.

* import log file and remove unnecessary else

---------

Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
2024-08-01 18:52:38 +02:00
Zoltan Papp
3506ac4234
When creating new setup key, "revoked" field doesn't do anything (#2357)
Remove unused field from API
2024-08-01 17:13:58 +02:00
Maycon Santos
cbf9f2058e
Use accountID retrieved from the sync call to acquire read lock sooner (#2369)
Use accountID retrieved from the sync call to acquire read lock sooner and avoiding extra DB calls.
- Use the account ID across sync calls
- Moved account read lock
- Renamed CancelPeerRoutines to OnPeerDisconnected
- Added race tests
2024-08-01 16:21:43 +02:00
Maycon Santos
5ee9c77e90
Move write peer lock (#2364)
Moved the write peer lock to avoid latency caused by disk access

Updated the method CancelPeerRoutines to use the peer public key
2024-07-31 21:51:45 +02:00
Bethuel Mmbaga
c832cef44c
Update SaveUsers and SaveGroups to SaveAccount (#2362)
Changed SaveUsers and SaveGroups method calls to SaveAccount for consistency in data persistence operations.
2024-07-31 19:48:12 +03:00
Maycon Santos
165988429c
Add write lock for peer when saving its connection status (#2359) 2024-07-31 14:53:32 +02:00
bcmmbaga
f0d91bcfc4
Add tests for peer update behavior on peers changes 2024-07-31 02:45:09 +03:00
bcmmbaga
eb9aadfd38
Add tests for peer update behavior on setup key changes 2024-07-31 01:31:05 +03:00
bcmmbaga
8bab9dc3c0
fix tests 2024-07-31 01:24:02 +03:00
bcmmbaga
02c0a9b1da
Add tests for peer update behavior on route changes 2024-07-31 01:18:37 +03:00
bcmmbaga
c76cd1d86e
Add tests for peer update behavior on user changes 2024-07-31 01:18:14 +03:00
bcmmbaga
d990d95236
Add tests for peer update behavior on name server changes 2024-07-30 18:36:33 +03:00
bcmmbaga
cf211f6337
Refactor 2024-07-30 17:15:47 +03:00
bcmmbaga
8d9ea40bf1
Add tests for peer update behavior on dns settings changes 2024-07-30 16:38:32 +03:00
bcmmbaga
7647701898
Add tests for peer update behavior on group changes 2024-07-30 16:01:11 +03:00
bcmmbaga
6554b26600
Add tests for peer update behavior on policy changes 2024-07-30 14:56:23 +03:00
bcmmbaga
8455455142
Add tests for peer update behavior on posture check changes 2024-07-29 21:46:50 +03:00
Maycon Santos
da39c8bbca
Refactor login with store.SavePeer (#2334)
This pull request refactors the login functionality by integrating store.SavePeer. The changes aim to improve the handling of peer login processes, particularly focusing on synchronization and error handling.

Changes:
- Refactored login logic to use store.SavePeer.
- Added checks for login without lock for login necessary checks from the client and utilized write lock for full login flow.
- Updated error handling with status.NewPeerLoginExpiredError().
- Moved geoIP check logic to a more appropriate place.
- Removed redundant calls and improved documentation.
- Moved the code to smaller methods to improve readability.
2024-07-29 13:30:27 +02:00
bcmmbaga
c48f244bee
Remove unused isPolicyRuleGroupsEmpty 2024-07-26 17:47:02 +03:00
Bethuel Mmbaga
7321046cd6
Remove redundant check for empty JWT groups (#2323)
* Remove redundant check for empty group names in SetJWTGroups

* add test
2024-07-26 16:33:54 +02:00
Maycon Santos
1f48fdf6ca
Add SavePeer method to prevent a possible account inconsistency (#2296)
SyncPeer was storing the account with a simple read lock

This change introduces the SavePeer method to the store to be used in these cases
2024-07-26 07:49:05 +02:00
Maycon Santos
45fd1e9c21
add save peer status test for connected peers (#2321) 2024-07-25 16:22:04 +02:00
bcmmbaga
b7fcd0d753
Remove UpdatePeerSSHKey method 2024-07-23 21:16:25 +03:00
bcmmbaga
a19c2f660c
Merge branch 'refs/heads/feature/optimize-network-map-updates' into feature/validate-group-association 2024-07-22 15:24:30 +03:00
bcmmbaga
936215b395
Optimize account peers updates on route changes 2024-07-22 13:51:18 +03:00
bcmmbaga
bb08adcbac
Remove condition check for network serial update 2024-07-20 20:36:36 +03:00
bcmmbaga
f5ec234f09
Optimize peer update on user deletion and changes 2024-07-20 20:08:29 +03:00
bcmmbaga
26f089e30d
Refactor peer account updates for efficiency 2024-07-20 12:37:25 +03:00
bcmmbaga
713c0341be
Optimize update of account peers on jwt groups sync 2024-07-19 14:09:33 +03:00
bcmmbaga
1bbd8ae4b0
Optimize account peers update in DNS settings 2024-07-19 10:51:20 +03:00
bcmmbaga
a723c424f0
Refactor group changes 2024-07-19 10:51:05 +03:00
bcmmbaga
3e76deaa87
Update account peers if ns group has peers 2024-07-18 21:04:58 +03:00
bcmmbaga
36d4c21671
Optimize group change effects on account peers 2024-07-18 20:37:29 +03:00
bcmmbaga
181e8648a8
Refactor group management 2024-07-18 19:59:37 +03:00
bcmmbaga
1012c2f990
Add HasPeers function to group 2024-07-18 19:59:14 +03:00
bcmmbaga
1b28d1dfbc
Refactor group link checking into re-usable functions 2024-07-18 16:41:21 +03:00
Bethuel Mmbaga
f17016b5e5
Skip peer update on unchanged network map (#2236)
* Enhance network updates by skipping unchanged messages

Optimizes the network update process
by skipping updates where no changes in the peer update message received.

* Add unit tests

* add locks

* Improve concurrency and update peer message handling

* Refactor account manager network update tests

* fix test

* Fix inverted network map update condition

* Add default group and policy to test data

* Run peer updates in a separate goroutine

* Refactor

* Refactor lock
2024-07-18 13:50:44 +03:00
ctrl-zzz
a711e116a3
fix: save peer status correctly in sqlstore (#2262)
* fix: save peer status correctly in sqlstore

https://github.com/netbirdio/netbird/issues/2110#issuecomment-2162768273

* feat: update test function

* refactor: simplify status update
2024-07-16 18:38:12 +03:00
bcmmbaga
b6cef2ce2c
Remove account peers update on saving setup key 2024-07-16 18:30:47 +03:00
bcmmbaga
dedf13d8f1
Update account peer if posture check is linked to policy 2024-07-16 18:19:05 +03:00
bcmmbaga
d676c41c74
Remove incrementing network serial and updating peers after group deletion 2024-07-16 16:50:44 +03:00