Zoltán Papp
96d31c3a5a
Align Linux UI packaging deps with Wails v3 GTK4 stack
...
The Wails v3 tray is a pure DBus StatusNotifierItem implementation and no
longer links libappindicator (a Fyne-era dependency). Drop the
libayatana-appindicator runtime and build deps, and move the rpm package
and dev-dependency docs onto the GTK4 / WebKitGTK 6.0 stack that the
default (non-gtk3) build actually links against.
2026-06-09 12:52:46 +02:00
Zoltán Papp
ca6f6d88cb
Merge branch 'main' into ui-refactor
2026-06-04 17:06:11 +02:00
Maycon Santos
deeae30612
[misc] Add Codecov integration and coverage reporting across workflows ( #6333 )
2026-06-03 19:08:45 +02:00
Zoltán Papp
f54121ebfa
Merge branch 'main' into ui-refactor
...
# Conflicts:
# .github/workflows/golang-test-darwin.yml
# .github/workflows/release.yml
2026-05-29 15:51:43 +02:00
Theodor Midtlien
5a9e9e7bc9
[Infrastructure] Pin actions with SHA and improve workflows ( #6249 )
...
* Pin actions with SHA, replace unmaintained, add dependabot for actions
* Update FreeBSD to version 15 for tests
* Use shared actions
* Update sign-pipelines version
2026-05-29 15:24:30 +02:00
Zoltán Papp
f04e2bada8
[ci] Switch CI deps to GTK4 / WebKitGTK 6.0
...
Wails v3 alpha.94 switched its default Linux backend from GTK3 +
WebKit2GTK 4.1 to GTK4 + WebKitGTK 6.0 (the GTK3 path is now gated
behind a `gtk3` build tag). cgo files that the binary, the tests, and
the lint job all parse now request `pkg-config --cflags gtk4
webkitgtk-6.0 ...`, so the existing libgtk-3-dev + libwebkit2gtk-4.1
apt deps no longer satisfy them — lint, unit tests, and the linux
release build all fail with `Package 'gtk4' ... not found`.
Replace the apt deps across the four workflows that build/lint the
client tree (golangci-lint, golang-test-linux, release, and the wasm
lint job that also walks client/) with libgtk-4-dev + libwebkitgtk-6.0-dev
+ libsoup-3.0-dev. Both packages are available from jammy (22.04 LTS)
onwards, so existing ubuntu-22.04 runners stay valid.
2026-05-20 12:46:37 +02:00
Zoltan Papp
1f4ed5c8ef
[ci] Install Wails GTK deps on Linux lint/test runners
...
Add libwebkit2gtk-4.1-dev and libsoup-3.0-dev to apt installs so the
Wails v3 client/ui package compiles on Linux CI runners.
2026-05-13 01:39:12 +02:00
Zoltán Papp
09052949a2
[client/ui] Finish ui-wails rename (import paths, fyne deps)
...
Follow-up to the rename commit: the previous commit moved the files but
the post-mv string substitutions (Go imports, frontend bindings, CI
config paths) were not re-staged so they slipped through. This commit
applies those edits and removes the fyne dependencies from go.mod/go.sum
now that the legacy fyne UI is gone.
2026-05-11 11:33:35 +02:00
Zoltán Papp
18909390c2
[ci] Use go list -e so the ui-wails embed doesn't blank the test list
...
The previous fix added /client/ui-wails to the grep -v / Where-Object
filter, but go list aborts at the first broken package and emits an
empty stdout when client/ui-wails/main.go's //go:embed all:frontend/dist
fails to resolve. The command substitution then expands to nothing, and
`go test` falls back to the repo root — which has no Go files and fails
the job.
`go list -e` keeps listing remaining packages after a parse error, so
the existing path-based filter now actually does its job.
Touches all three test workflows (Linux native + docker, Darwin, Windows).
2026-05-05 15:30:40 +02:00
Zoltán Papp
dd9c15072f
[ci] Skip client/ui-wails in go test runs
...
main.go embeds frontend/dist with //go:embed, so any go-list-based test
sweep that touches the package fails at compile time before pnpm build
has populated the directory. The release pipeline runs the frontend
build via the goreleaser before-hook; the test workflows do not, and
should not, ship a Node toolchain just to compile a UI binary that has
no Go-side unit tests anyway.
Add a /client/ui-wails exclude to the test go-list filter on Linux,
Darwin and Windows.
2026-05-05 12:56:59 +02:00
Maycon Santos
bbca74476e
[management] docker login on management tests ( #5323 )
2026-02-18 16:11:17 +01:00
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
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 and Maycon Santos
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