Maycon Santos
bbca74476e
[management] docker login on management tests ( #5323 )
2026-02-18 16:11:17 +01:00
Pascal Fischer
f53155562f
[management, reverse proxy] Add reverse proxy feature ( #5291 )
...
* implement reverse proxy
---------
Co-authored-by: Alisdair MacLeod <git@alisdairmacleod.co.uk >
Co-authored-by: mlsmaycon <mlsmaycon@gmail.com >
Co-authored-by: Eduard Gert <kontakt@eduardgert.de >
Co-authored-by: Viktor Liu <viktor@netbird.io >
Co-authored-by: Diego Noguês <diego.sure@gmail.com >
Co-authored-by: Diego Noguês <49420+diegocn@users.noreply.github.com >
Co-authored-by: Bethuel Mmbaga <bethuelmbaga12@gmail.com >
Co-authored-by: Zoltan Papp <zoltan.pmail@gmail.com >
Co-authored-by: Ashley Mensah <ashleyamo982@gmail.com >
2026-02-13 19:37:43 +01:00
Zoltan Papp
9c9d8e17d7
Revert "Revert "[relay] Update GO version and QUIC version ( #4736 )" ( #5055 )" ( #5071 )
...
This reverts commit 24df442198 .
2026-01-08 18:58:22 +01:00
Maycon Santos
24df442198
Revert "[relay] Update GO version and QUIC version ( #4736 )" ( #5055 )
...
This reverts commit 8722b79799 .
2026-01-07 19:02:20 +01:00
Zoltan Papp
8722b79799
[relay] Update GO version and QUIC version ( #4736 )
...
- Go 1.25.5
- QUIC 0.55.0
2026-01-07 16:30:29 +01:00
Maycon Santos
290fe2d8b9
[client/management/signal/relay] Update go.mod to use Go 1.24.10 and upgrade x/crypto dependencies ( #4828 )
...
Upgrade Go toolchain and golang.org/x/* deps to 1.24.10, standardize GitHub Actions to derive Go version from go.mod and adjust checkout ordering, raise WASM size limit to 55 MB, update FreeBSD tarball and gomobile refs, fix a few format-string/logging calls, treat usernames ending with $ as system accounts, and add Windows tests.
2025-11-22 10:10:18 +01:00
Zoltan Papp
0c6f671a7c
Refactor healthcheck sender and receiver to use configurable options ( #4433 )
2025-09-12 09:31:03 +02:00
Maycon Santos
d817584f52
[misc] fix Windows client and management bench tests ( #4424 )
...
Windows tests had too many directories, causing issues to the payload via psexec.
Also migrated all checked benchmarks to send data to grafana.
2025-08-31 17:19:56 +02:00
Viktor Liu
abd152ee5a
[misc] Separate shared code dependencies ( #4288 )
...
* Separate shared code dependencies
* Fix import
* Test respective shared code
* Update openapi ref
* Fix test
* Fix test path
2025-08-05 18:34:41 +02:00
Viktor Liu
459c9ef317
[client] Add env and status flags for netbird service command ( #3975 )
2025-07-24 13:34:55 +02:00
Zoltan Papp
d311f57559
[ci] Temporarily disable race detection in Relay ( #4210 )
2025-07-24 13:14:49 +02:00
Zoltan Papp
86c16cf651
[server, relay] Fix/relay race disconnection ( #4174 )
...
Avoid invalid disconnection notifications in case the closed race dials.
In this PR resolve multiple race condition questions. Easier to understand the fix based on commit by commit.
- Remove store dependency from notifier
- Enforce the notification orders
- Fix invalid disconnection notification
- Ensure the order of the events on the consumer side
2025-07-21 19:58:17 +02:00
Zoltan Papp
6f436e57b5
[server-test] Install libs for i386 tests ( #3887 )
...
Install libs for i386 tests
2025-05-27 16:42:06 +02:00
Maycon Santos
2f44fe2e23
[client] Feature/upload bundle ( #3734 )
...
Add an upload bundle option with the flag --upload-bundle; by default, the upload will use a NetBird address, which can be replaced using the flag --upload-bundle-url.
The upload server is available under the /upload-server path. The release change will push a docker image to netbirdio/upload image repository.
The server supports using s3 with pre-signed URL for direct upload and local file for storing bundles.
2025-04-29 00:43:50 +02:00
Viktor Liu
3fa915e271
[misc] Exclude client benchmarks from CI ( #3752 )
2025-04-28 13:40:36 +02:00
Viktor Liu
3cf87b6846
[client] Run container tests more generically ( #3737 )
2025-04-25 18:50:44 +02:00
Pascal Fischer
8db05838ca
[misc] Change github runner for docker test ( #3707 )
2025-04-23 19:35:26 +02:00
Pascal Fischer
1a6d6b3109
[management] fix github run id ( #3705 )
2025-04-18 11:21:54 +02:00
Pascal Fischer
f686615876
[management] benchmarks use ref_name instead ( #3704 )
2025-04-17 21:57:54 +02:00
Pascal Fischer
a4311f574d
[management] push benchmark results to grafana ( #3701 )
2025-04-17 21:01:23 +02:00
Viktor Liu
fc1da94520
[client, management] Add port forwarding ( #3275 )
...
Add initial support to ingress ports on the client code.
- new types where added
- new protocol messages and controller
2025-03-09 16:06:43 +01:00
Pascal Fischer
c8a558f797
[tests] Retry mysql store creation on reused containers ( #3370 )
2025-02-24 13:40:11 +01:00
Pascal Fischer
7e6beee7f6
[management] optimize test execution ( #3204 )
2025-02-19 19:13:45 +01:00
Maycon Santos
bd381d59cd
[misc] Run management benchmark jobs on file changes ( #3343 )
...
They will always run on Main
2025-02-18 10:45:41 +01:00
Bethuel Mmbaga
1ad2cb5582
[management] Refactor peers to use store methods ( #2893 )
2025-01-20 18:41:46 +01:00
Zoltan Papp
1ffa519387
[client,relay] Add QUIC support ( #2962 )
2025-01-15 16:28:19 +01:00
Maycon Santos
8154069e77
[misc] Skip docker step when fork PR ( #3175 )
2025-01-13 10:11:54 +01:00
Bethuel Mmbaga
02a3feddb8
[management] Add MySQL Support ( #3108 )
...
* Add mysql store support
* Add support to disable activity events recording
2025-01-06 13:38:30 +01:00
Pascal Fischer
d9487a5749
[misc] separate integration and benchmark test workflows ( #3147 )
2025-01-03 15:48:31 +01:00
Pascal Fischer
a01253c3c8
[management] add users benchmark ( #3141 )
2025-01-03 15:24:30 +01:00
Pascal Fischer
e670068cab
[management] Run test sequential ( #3101 )
2024-12-23 14:37:09 +01:00
Viktor Liu
ddc365f7a0
[client, management] Add new network concept ( #3047 )
...
---------
Co-authored-by: Pascal Fischer <32096965+pascal-fischer@users.noreply.github.com >
Co-authored-by: bcmmbaga <bethuelmbaga12@gmail.com >
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
Co-authored-by: Zoltan Papp <zoltan.pmail@gmail.com >
2024-12-20 11:30:28 +01:00
Maycon Santos
287ae81195
[misc] split tests with management and rest ( #3051 )
...
optimize go cache for tests
2024-12-14 21:18:46 +01:00
Pascal Fischer
c6641be94b
[tests] Enable benchmark tests on github actions ( #2961 )
2024-11-28 19:22:01 +01:00
Maycon Santos
5b46cc8e9c
Avoid failing all other matrix tests if one fails ( #2839 )
2024-11-05 13:28:42 +01:00
Zoltan Papp
4e918e55ba
[client] Fix controller re-connection ( #2758 )
...
Rethink the peer reconnection implementation
2024-10-24 11:43:14 +02:00
Bethuel Mmbaga
7bda385e1b
[management] Optimize network map updates ( #2718 )
...
* 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
* Fix peers update by including NetworkMap and posture Checks
* go mod tidy
* fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* [management] Skip account peers update if no changes affect peers (#2310 )
* Remove incrementing network serial and updating peers after group deletion
* Update account peer if posture check is linked to policy
* Remove account peers update on saving setup key
* Refactor group link checking into re-usable functions
* Add HasPeers function to group
* Refactor group management
* Optimize group change effects on account peers
* Update account peers if ns group has peers
* Refactor group changes
* Optimize account peers update in DNS settings
* Optimize update of account peers on jwt groups sync
* Refactor peer account updates for efficiency
* Optimize peer update on user deletion and changes
* Remove condition check for network serial update
* Optimize account peers updates on route changes
* Remove UpdatePeerSSHKey method
* Remove unused isPolicyRuleGroupsEmpty
* Add tests for peer update behavior on posture check changes
* Add tests for peer update behavior on policy changes
* Add tests for peer update behavior on group changes
* Add tests for peer update behavior on dns settings changes
* Refactor
* Add tests for peer update behavior on name server changes
* Add tests for peer update behavior on user changes
* Add tests for peer update behavior on route changes
* fix tests
* Add tests for peer update behavior on setup key changes
* Add tests for peer update behavior on peers changes
* fix merge
* Fix tests
* go mod tidy
* Add NameServer and Route comparators
* Update network map diff logic with custom comparators
* Add tests
* Refactor duplicate diff handling logic
* fix linter
* fix tests
* Refactor policy group handling and update logic.
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* Update route check by checking if group has peers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* Refactor posture check policy linking logic
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* 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 >
* fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* add policy tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* add posture checks tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix user and setup key tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix account and route tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix typo
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix nameserver tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix routes tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix group tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* upgrade diff package
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix nameserver tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* use generic differ for netip.Addr and netip.Prefix
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* go mod tidy
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* add peer tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix management suite tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* fix postgres tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* enable diff nil structs comparison
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* skip the update only last sent the serial is larger
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* refactor peer and user
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* skip spell check for groupD
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* Refactor group, ns group, policy and posture checks
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* skip spell check for GroupD
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* update account policy check before verifying policy status
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* Update management/server/route_test.go
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
* Update management/server/route_test.go
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
* Update management/server/route_test.go
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
* Update management/server/route_test.go
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
* Update management/server/route_test.go
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
* add tests missing tests for dns setting groups
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* add tests for posture checks changes
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* add ns group and policy tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* add route and group tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* increase Linux test timeout to 10 minutes
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* Run diff for client posture checks only
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* add panic recovery and detailed logging in peer update comparison
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
---------
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
---------
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com >
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
2024-10-23 13:05:02 +03:00
pascal-fischer
8284ae959c
[management] Move testdata to sql files ( #2693 )
2024-10-10 12:35:03 +02:00
pascal-fischer
b79c1d64cc
[management] Make max open db conns configurable ( #2713 )
2024-10-09 20:17:25 +02:00
Zoltan Papp
fd67892cb4
[client] Refactor/iface pkg ( #2646 )
...
Refactor the flat code structure
2024-10-02 18:24:22 +02:00
pascal-fischer
6c50b0c84b
[management] Add transaction to addPeer ( #2469 )
...
This PR removes the GetAccount and SaveAccount operations from the AddPeer and instead makes use of gorm.Transaction to add the new peer.
2024-09-16 15:47:03 +02:00
Maycon Santos
4c130a0291
Update Go version to 1.23 ( #2588 )
2024-09-12 13:46:28 +02:00
Maycon Santos
afb9673bc4
[misc] Update core github actions ( #2584 )
2024-09-11 21:49:05 +02:00
Maycon Santos
4fec709bb1
Release 0.28.0 ( #2092 )
...
* compile client under freebsd (#1620 )
Compile netbird client under freebsd and now support netstack and userspace modes.
Refactoring linux specific code to share same code with FreeBSD, move to *_unix.go files.
Not implemented yet:
Kernel mode not supported
DNS probably does not work yet
Routing also probably does not work yet
SSH support did not tested yet
Lack of test environment for freebsd (dedicated VM for github runners under FreeBSD required)
Lack of tests for freebsd specific code
info reporting need to review and also implement, for example OS reported as GENERIC instead of FreeBSD (lack of FreeBSD icon in management interface)
Lack of proper client setup under FreeBSD
Lack of FreeBSD port/package
* Add DNS routes (#1943 )
Given domains are resolved periodically and resolved IPs are replaced with the new ones. Unless the flag keep_route is set to true, then only new ones are added.
This option is helpful if there are long-running connections that might still point to old IP addresses from changed DNS records.
* Add process posture check (#1693 )
Introduces a process posture check to validate the existence and active status of specific binaries on peer systems. The check ensures that files are present at specified paths, and that corresponding processes are running. This check supports Linux, Windows, and macOS systems.
Co-authored-by: Evgenii <mail@skillcoder.com >
Co-authored-by: Pascal Fischer <pascal@netbird.io >
Co-authored-by: Zoltan Papp <zoltan.pmail@gmail.com >
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com >
Co-authored-by: Bethuel Mmbaga <bethuelmbaga12@gmail.com >
2024-06-13 13:24:24 +02:00
Bethuel Mmbaga
95299be52d
Deprecate FileStore engine support ( #2119 )
...
* Removejsonfile' from test matrix in workflows
* Remove sqlite to json migration command
* Refactor store engine implementation to remove JSON file store support
The codebase has been refactored to remove support for JSON file store storage engine, with SQLite serving as the default store engine. New functions have been added to handle unsupported store engines and to migrate data from file store to SQLite.
* Remove 'downCmd' from migration commands
* Refactoring
* Add sqlite cleanup
* Remove comment
2024-06-13 13:39:19 +03:00
Bethuel Mmbaga
a5811a2d7d
Implement experimental PostgreSQL store ( #1939 )
...
* migrate sqlite store to
generic sql store
* fix conflicts
* init postgres store
* Add postgres store tests
* Refactor postgres store engine name
* fix tests
* Run postgres store tests on linux only
* fix tests
* Refactor
* cascade policy rules on policy deletion
* fix tests
* run postgres cases in new db
* close store connection after tests
* refactor
* using testcontainers
* sync go sum
* remove postgres service
* remove store cleanup
* go mod tidy
* remove env
* use postgres as engine and initialize test store with testcontainer
---------
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com >
2024-05-16 19:28:37 +03:00
Maycon Santos
3875c29f6b
Revert "Rollback new routing functionality ( #1805 )" ( #1813 )
...
This reverts commit 9f32ccd453 .
2024-04-08 18:56:52 +02:00
Viktor Liu
9f32ccd453
Rollback new routing functionality ( #1805 )
2024-04-05 20:38:49 +02:00
Viktor Liu
2475473227
Support client default routes for Linux ( #1667 )
...
All routes are now installed in a custom netbird routing table.
Management and wireguard traffic is now marked with a custom fwmark.
When the mark is present the traffic is routed via the main routing table, bypassing the VPN.
When the mark is absent the traffic is routed via the netbird routing table, if:
- there's no match in the main routing table
- it would match the default route in the routing table
IPv6 traffic is blocked when a default route IPv4 route is configured to avoid leakage.
2024-03-21 16:49:28 +01:00
Yury Gargay
9028c3c1f7
Check git status after go mod tidy on CI ( #1614 )
2024-02-23 12:00:43 +01:00