dmitri-netbird
0a9ce7f797
[client] fix a flake in TestResolver_ConcurrentStaleHitsCollapseRefresh test ( #7326 )
...
* fix a flake in TestResolver_ConcurrentStaleHitsCollapseRefresh test
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* use testify's eventually asserts
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
---------
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-26 12:51:19 +02:00
dmitri-netbird
2621aaa619
[management, client] add protobuf breaking changes check ( #7305 )
...
* add protobuf breaking changes check
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* disable path check for now
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* enable breaking checks
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* testing breaking change
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* Revert "testing breaking change"
This reverts commit 05e6ef9b78 .
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* remove commented out proto paths
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* disable pushes
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* responded to feedback
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* trigger workflow on changes to buf config or the workflow itself
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* fix the workflow file name
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* explicit config for actions
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
---------
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-26 11:48:05 +02:00
dmitri-netbird
c512bf25aa
[management] handle nil ptr in sendInitialSync() when the peer is deleted ( #7315 )
...
* fix a nil-ptr error occuring in sendInitialSync when the peer being synced is deleted
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* handle a nil ptr in GetPeerNetworkMapComponents
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
---------
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-25 16:14:17 +02:00
dmitri-netbird
a144e8c144
[client, management] switch to go.uber.org/mock ( #7253 )
...
* switch to go.uber.org/mock/gomock
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* updated go:generate commands + regenerated mocks
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* update go:generate mockgen commands
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* removed duplicate import
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* fix go:generate
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
---------
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-20 11:53:19 +02:00
8435682ac8
[client, management] offload client config generation to the client ( #6711 )
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
Co-authored-by: crn4 <vladimir@netbird.io >
Co-authored-by: pascal <pascal@netbird.io >
2026-07-22 18:20:27 +02:00
dmitri-netbird
9906b9b1a1
[management] fix a flake in account_test ( #6811 )
...
## Describe your changes
In
"TestDefaultAccountManager_UpdateAccountSettings_NetworkRangePreserved",
in the beginning of the test, during account creation a random /16
subnet from 10.64.0./10 network is used. Later in the test a new range
(10.99.0.0/16) is assigned to the account, but it's one of the possible
subnets used during account creation, which sometimes leads to a
collision and failed test.
Using a network outside of the range of networks used during account
creation fixes the issue.
## Issue ticket number and link
## Stack
<!-- branch-stack -->
### Checklist
- [x] Is it a bug fix
- [ ] Is a typo/documentation fix
- [ ] Is a feature enhancement
- [ ] It is a refactor
- [ ] Created tests that fail without the change (if possible)
- [x] This change does **not** modify the public API, gRPC protocols,
functionality behavior, CLI / service flags, or introduce a new feature
— **OR** I have discussed it with the NetBird team beforehand (link the
issue / Slack thread in the description). See
[CONTRIBUTING.md](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#discuss-changes-with-the-netbird-team-first ).
> By submitting this pull request, you confirm that you have read and
agree to the terms of the [Contributor License
Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md ).
## Documentation
Select exactly one:
- [ ] I added/updated documentation for this change
- [x] Documentation is **not needed** for this change (explain why)
### Docs PR URL (required if "docs added" is checked)
Paste the PR link from https://github.com/netbirdio/docs here:
https://github.com/netbirdio/docs/pull/__
<!-- codesmith:footer -->
---
<a
href="https://app.blacksmith.sh/netbirdio/codesmith/netbird/pr/6811 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg "><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg "><img
alt="View with Codesmith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg "></picture></a>
<a
href="https://backend.blacksmith.sh/track/enable-autofix?expires=1786868463&installation_id=146802194&pr_number=6811&repository=netbirdio%2Fnetbird&return_to=https%3A%2F%2Fgithub.com%2Fnetbirdio%2Fnetbird%2Fpull%2F6811&signature=c0ded1a8ecc05686b6ba19eb366519852ac35e170da4f8522fb7aec2062d4a3e "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg "><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg "><img
alt="Autofix with Codesmith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg "></picture></a>
<sup>Need help on this PR? Tag <code>/codesmith</code> with what you
need. Autofix is disabled.</sup>
<!-- codesmith:autofix:disabled -->
<!-- /codesmith:footer -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Tests**
* Updated account network range test coverage to verify peer IP
reallocation with a distinct network range.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-07-17 11:21:11 +02:00
dmitri-netbird
877e889250
[management] fix fetching of missing settings in GetAccount call ( #6800 )
...
## Describe your changes
## Issue ticket number and link
## Stack
<!-- branch-stack -->
### Checklist
- [x] Is it a bug fix
- [ ] Is a typo/documentation fix
- [ ] Is a feature enhancement
- [ ] It is a refactor
- [ ] Created tests that fail without the change (if possible)
- [x] This change does **not** modify the public API, gRPC protocols,
functionality behavior, CLI / service flags, or introduce a new feature
— **OR** I have discussed it with the NetBird team beforehand (link the
issue / Slack thread in the description). See
[CONTRIBUTING.md](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#discuss-changes-with-the-netbird-team-first ).
> By submitting this pull request, you confirm that you have read and
agree to the terms of the [Contributor License
Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md ).
## Documentation
Select exactly one:
- [ ] I added/updated documentation for this change
- [x] Documentation is **not needed** for this change (explain why)
### Docs PR URL (required if "docs added" is checked)
Paste the PR link from https://github.com/netbirdio/docs here:
https://github.com/netbirdio/docs/pull/__
<!-- codesmith:footer -->
---
<a
href="https://app.blacksmith.sh/netbirdio/codesmith/netbird/pr/6800 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg "><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg "><img
alt="View with Codesmith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg "></picture></a>
<a
href="https://backend.blacksmith.sh/track/enable-autofix?expires=1786797566&installation_id=146802194&pr_number=6800&repository=netbirdio%2Fnetbird&return_to=https%3A%2F%2Fgithub.com%2Fnetbirdio%2Fnetbird%2Fpull%2F6800&signature=36a7053e1029e5de1d496fbd9c428a1745d0ec22b3e6479d64aafb1b8350b0ef "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg "><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg "><img
alt="Autofix with Codesmith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg "></picture></a>
<sup>Need help on this PR? Tag <code>/codesmith</code> with what you
need. Autofix is disabled.</sup>
<!-- codesmith:autofix:disabled -->
<!-- /codesmith:footer -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Ensure account settings are fully preserved through save/load,
including automatic update and peer exposure preferences.
* **Tests**
* Added coverage to verify account settings remain unchanged after
database persistence and retrieval (skipped on Windows due to SQLite
limitations).
* Introduced deterministic test-data population helpers to reliably set
struct fields for deeper settings verification.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-07-17 10:38:43 +02:00
dmitri-netbird
e0c25ba4ba
[client] fix flaky test around event aggregation ( #6710 )
...
* fix flaky test around event aggregation: control time.Now() from the test
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* actually use passed in func to generate time
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
---------
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-07-09 18:17:28 +02:00
dmitri-netbird
47352e6e45
[client] introduce client-side event aggregation ( #6627 )
...
* added an implementation of aggregating memory store
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* initial support for aggregation of events
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* added tcp-aggregation test
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* added manager integration test
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* added tracking of the number of start-, drop, and end-events in an aggregation window
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* fixes based on sonarcube checks
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* regenerated proto files
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* removed inadvertenly added google proto files
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* pacifying linter
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* update test to validate event aggregation over tcp, udp, icmp, and icmpv6
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* updated event aggregation test
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* regenerate protobufs with expected versions of protoc and protoc-gen-go
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* remove protoc/protoc-gen headers from flow_grpc.pb.go
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* updated openapi spec
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* updated openapi NetworkTrafficEvent spec, regenerated types
Signed-off-by: Dmitri <dmitri.external@netbird.io >
* respond to feedback
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* fixed an issue with how we track events that shouldn't be aggregated
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* fixed mapping of events to protobuf
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* icmp code values in aggregated events do not matter
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* regenerate openapi types
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* added a comment re: unbounded unacked events
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* reset aggregated event type to unknown
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* fix event aggregation test
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* used the source port of the earliest event
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* add tracking of window starts and ends
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* updated openapi spec
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* reverted changes to generate.sh
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* cleanup handling of not-aggregated events + test
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* responded to feedback + small fixes
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* small fix in a test
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* another test
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* force setting non-empty rule id on aggregated events
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* fixed a couple of issues flagged by coderabbit
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* fix spelling
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
* handle exhausted retry backoffs
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
---------
Signed-off-by: Dmitri <dmitri.external@netbird.io >
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-07-06 16:04:26 +02:00
dmitri-netbird
615631567a
small gh workflow fixes ( #6546 )
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-06-26 19:59:15 +02:00