Commit Graph

722 Commits

Author SHA1 Message Date
benniekiss
12c36312b5 [management] Auto update geolite (#2297)
introduces helper functions to fetch and verify database versions, downloads new files if outdated, and deletes old ones. It also refactors filename handling to improve clarity and consistency, adding options to disable auto-updating via a flag. The changes aim to simplify GeoLite database management for admins.
2024-09-09 18:27:42 +02:00
Zoltan Papp
0c039274a4 [relay] Feature/relay integration (#2244)
This update adds new relay integration for NetBird clients. The new relay is based on web sockets and listens on a single port.

- Adds new relay implementation with websocket with single port relaying mechanism
- refactor peer connection logic, allowing upgrade and downgrade from/to P2P connection
- peer connections are faster since it connects first to relay and then upgrades to P2P
- maintains compatibility with old clients by not using the new relay
- updates infrastructure scripts with new relay service
2024-09-08 12:06:14 +02:00
Maycon Santos
a7e46bf7b1 Reduce test logs (#2550) 2024-09-06 16:28:19 +02:00
bcmmbaga
4e2cf9c63a fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2024-09-06 12:15:13 +03:00
bcmmbaga
5dbdeff77a Simplify peer update condition in DNS management
Refactor the condition for updating account peers to remove redundant checks

Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2024-09-05 21:29:14 +03:00
bcmmbaga
7523a9e7be Refactor posture check policy linking logic
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2024-09-05 19:36:20 +03:00
bcmmbaga
75ab35563a Update route check by checking if group has peers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2024-09-05 19:20:09 +03:00
bcmmbaga
c6650705a1 Refactor policy group handling and update logic.
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2024-09-05 16:36:11 +03:00
Maycon Santos
95174d4619 Update route API doc with max domain number (#2516) 2024-09-02 17:40:34 +02:00
Harry Kodden
00944bcdbf [management] Add support to ECDSA public Keys (#2461)
Update the JWT validation logic to handle ECDSA keys in addition to the existing RSA keys

---------

Co-authored-by: Harry Kodden <harry.kodden@surf.nl>
Co-authored-by: Bethuel Mmbaga <bethuelmbaga12@gmail.com>
2024-08-27 16:37:55 +02:00
Bethuel Mmbaga
d97b03656f [management] Refactor HTTP metrics (#2476)
* Add logging for slow SQL queries in SaveAccount and GetAccount

* Add resource count log for large accounts

* Refactor metrics middleware to simplify counters and histograms

* Update log levels and remove redundant resource count check
2024-08-23 19:42:55 +03:00
pascal-fischer
0f0415b92a rename request buffer and update default interval (#2459) 2024-08-21 11:44:52 +02:00
pascal-fischer
3ed90728e6 [management] Add buffering for getAccount requests during login (#2449) 2024-08-20 20:06:01 +02:00
Viktor Liu
8c2d37d3fc [management] Fix logging out peers on deletion (#2453) 2024-08-20 19:13:40 +02:00
pascal-fischer
049b5fb7ed Split DB calls in peer login (#2439) 2024-08-19 12:50:11 +02:00
bcmmbaga
f29f8c009f fix tests 2024-08-16 12:24:06 +03:00
bcmmbaga
8826196503 fix linter 2024-08-15 11:19:10 +03:00
bcmmbaga
ca8565de1f Refactor duplicate diff handling logic 2024-08-15 10:57:45 +03:00
bcmmbaga
ac06346f5c Add tests 2024-08-15 10:50:03 +03:00
bcmmbaga
151969bdd7 Update network map diff logic with custom comparators 2024-08-15 10:49:45 +03:00
bcmmbaga
441136e2c6 Add NameServer and Route comparators 2024-08-15 10:49:11 +03:00
bcmmbaga
73b9e1c926 Merge branch 'main' into feature/optimize-network-map-updates
# Conflicts:
#	go.sum
2024-08-14 14:45:11 +03:00
bcmmbaga
c918bab09a Merge branch 'main' into feature/validate-group-association
# Conflicts:
#	go.sum
2024-08-14 13:30:54 +03:00
Bethuel Mmbaga
6016d2f7ce Fix lint (#2427) 2024-08-14 13:30:10 +03:00
bcmmbaga
7fa71419cd Fix tests 2024-08-14 10:27:07 +03:00
bcmmbaga
226dc95afa fix merge 2024-08-13 22:03:46 +03:00
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