netbird/management/server
pascal-fischer 5de4acf2fe
Integrate Rosenpass (#1153)
This PR aims to integrate Rosenpass with NetBird. It adds a manager for Rosenpass that starts a Rosenpass server and handles the managed peers. It uses the cunicu/go-rosenpass implementation. Rosenpass will then negotiate a pre-shared key every 2 minutes and apply it to the wireguard connection.

The Feature can be enabled by setting a flag during the netbird up --enable-rosenpass command.

If two peers are both support and have the Rosenpass feature enabled they will create a post-quantum secure connection. If one of the peers or both don't have this feature enabled or are running an older version that does not have this feature yet, the NetBird client will fall back to a plain Wireguard connection without pre-shared keys for those connections (keeping Rosenpass negotiation for the rest).

Additionally, this PR includes an update of all Github Actions workflows to use go version 1.21.0 as this is a requirement for the integration.

---------

Co-authored-by: braginini <bangvalo@gmail.com>
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
2024-01-08 12:25:35 +01:00
..
account extract account into separate package 2023-11-28 14:34:57 +01:00
activity Merge branch 'main' into feature/peer-approval 2023-12-01 18:12:59 +01:00
http Add JWT group-based access control for adding new peers (#1383) 2023-12-13 13:18:35 +03:00
idp add owner role support (#1340) 2023-12-01 17:24:57 +01:00
jwtclaims Fix jwks validation and flag/config overriding (#1380) 2023-12-12 14:56:27 +01:00
metrics Merge branch 'main' into feature/peer-approval 2023-12-04 17:34:53 +01:00
mock_server Add JWT group-based access control for adding new peers (#1383) 2023-12-13 13:18:35 +03:00
peer extract peer into seperate package 2023-11-28 13:45:26 +01:00
status Move Login business logic from gRPC API to Accountmanager (#713) 2023-03-03 18:35:38 +01:00
telemetry Implement lightweight method to check is peer has update channel (#1351) 2023-12-05 14:17:56 +01:00
testdata Implement SQLite Store using gorm and relational approach (#1065) 2023-10-12 15:42:36 +02:00
account_test.go Merge branch 'main' into feature/peer-approval 2023-12-01 18:12:59 +01:00
account.go Cancel peer expiration scheduled job when deleting account (#1434) 2024-01-04 17:10:55 +01:00
config.go Move StoreKind under own StoreConfig configuration and rename to Engine (#1219) 2023-10-16 11:19:39 +02:00
dns_test.go extract peer into seperate package 2023-11-28 13:45:26 +01:00
dns.go Merge branch 'main' into feature/peer-approval 2023-12-01 18:12:59 +01:00
ephemeral_test.go extract peer into seperate package 2023-11-28 13:45:26 +01:00
ephemeral.go extract peer into seperate package 2023-11-28 13:45:26 +01:00
event_test.go Extend linter rules (#1300) 2023-11-10 16:33:13 +01:00
event.go Export account manager events store (#1295) 2023-11-08 13:35:37 +03:00
file_store_test.go Merge branch 'main' into feature/peer-approval 2023-11-29 16:27:01 +01:00
file_store.go Merge branch 'main' into feature/peer-approval 2023-11-29 16:27:01 +01:00
group_test.go add owner role support (#1340) 2023-12-01 17:24:57 +01:00
group.go add owner role support (#1340) 2023-12-01 17:24:57 +01:00
grpcserver.go Add JWT group-based access control for adding new peers (#1383) 2023-12-13 13:18:35 +03:00
management_proto_test.go Add metrics for PeersUpdateManager (#1310) 2023-11-16 18:21:52 +01:00
management_suite_test.go Move management server to a separate directory (#67) 2021-07-24 16:14:29 +02:00
management_test.go Add metrics for PeersUpdateManager (#1310) 2023-11-16 18:21:52 +01:00
nameserver_test.go extract peer into seperate package 2023-11-28 13:45:26 +01:00
nameserver.go Prepare regexps on compile time (#1327) 2023-11-27 13:01:00 +01:00
network_test.go Exclude second last IP from allocation to use it in the Fake DNS (#912) 2023-05-30 18:26:44 +04:00
network.go Merge branch 'main' into feature/peer-approval 2023-11-29 16:27:01 +01:00
peer_test.go extract peer into seperate package 2023-11-28 13:45:26 +01:00
peer.go Update user's last login when authenticating a peer (#1437) 2024-01-06 12:57:05 +01:00
personal_access_token_test.go move into separate package 2023-05-16 12:57:56 +02:00
personal_access_token.go Implement SQLite Store using gorm and relational approach (#1065) 2023-10-12 15:42:36 +02:00
policy_test.go Integrate Rosenpass (#1153) 2024-01-08 12:25:35 +01:00
policy.go Fix nil pointer handling in get peers from group (#1381) 2023-12-12 18:17:00 +01:00
route_test.go update tests 2023-12-06 15:02:10 +01:00
route.go add owner role support (#1340) 2023-12-01 17:24:57 +01:00
rule.go Implement SQLite Store using gorm and relational approach (#1065) 2023-10-12 15:42:36 +02:00
scheduler_test.go Proactively expire peers' login per account (#698) 2023-02-27 16:44:26 +01:00
scheduler.go Proactively expire peers' login per account (#698) 2023-02-27 16:44:26 +01:00
setupkey_test.go Extend linter rules (#1300) 2023-11-10 16:33:13 +01:00
setupkey.go add owner role support (#1340) 2023-12-01 17:24:57 +01:00
sqlite_store_test.go fix imports in sqlite store test 2023-11-30 11:08:51 +01:00
sqlite_store.go fix sql store 2023-11-30 11:51:35 +01:00
store_test.go Extend linter rules (#1300) 2023-11-10 16:33:13 +01:00
store.go Merge branch 'main' into feature/peer-approval 2023-11-29 16:27:01 +01:00
turncredentials_test.go Add metrics for PeersUpdateManager (#1310) 2023-11-16 18:21:52 +01:00
turncredentials.go Reorder peer deletion when deleteing a user (#1191) 2023-10-03 16:46:58 +02:00
updatechannel_test.go Add metrics for PeersUpdateManager (#1310) 2023-11-16 18:21:52 +01:00
updatechannel.go Implement lightweight method to check is peer has update channel (#1351) 2023-12-05 14:17:56 +01:00
user_test.go add owner role support (#1340) 2023-12-01 17:24:57 +01:00
user.go Update user's last login when authenticating a peer (#1437) 2024-01-06 12:57:05 +01:00