Commit Graph
1227 Commits
Author SHA1 Message Date
Dmitri Dolguikh 38b6714ffe added exteded logging of negotiated sync message version
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-20 16:54:52 +02:00
Dmitri Dolguikh d93ae8c889 drop names and descriptions from GroupCompact and NameserverGroupRaw
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-20 16:26:30 +02:00
Dmitri Dolguikh f37ccf46c0 Merge remote-tracking branch 'origin/main' into components-impl-drop-indexes-use-xids
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-20 12:03:22 +02:00
Dmitri Dolguikh 9a9317df2f disable network components on the mgmt server by default
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-20 11:44:34 +02:00
Pascal Fischer 21fc5b81f6 [management] allow disabling device code flow when using dex (#6809) 2026-07-17 12:41:08 +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 Dolguikh ce55620e37 Merge remote-tracking branch 'origin/main' into components-impl-drop-indexes-use-xids
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-17 10:39:34 +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 Dolguikh 408ceb5170 fix import
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-16 18:04:22 +02:00
Dmitri Dolguikh 20243fcfee redid versioning
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-16 17:45:57 +02:00
Pascal Fischer e1a24376ab [management] build routes for peer cache on network map components (#6780) 2026-07-15 18:24:48 +02:00
Dmitri Dolguikh cfb534af8f use current context when logging sync message version
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-15 17:01:20 +02:00
Dmitri Dolguikh 14aad75e86 made commonSyncMessageVersion debug message more useful
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-15 16:49:59 +02:00
Dmitri Dolguikh dd569a7ab6 Merge remote-tracking branch 'origin/main' into components-impl-drop-indexes-use-xids
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-15 15:57:47 +02:00
Dmitri Dolguikh 2ac1d77bf0 log highest common sync message version
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-15 15:57:06 +02:00
Pascal Fischer 8f901f8899 [management] enable pprof via env var (#6778) 2026-07-15 12:05:40 +02:00
c6bf5fbbfb [management,client] 0.74.5 branch sync (#6769)
## Describe your changes
* [proxy] enforce model allowlist for URL-routed providers
(Bedrock/Vertex) by @mlsmaycon in
https://github.com/netbirdio/netbird/pull/6764
* [management] Remove proxy peer stale deduplication logic by @mlsmaycon
in https://github.com/netbirdio/netbird/pull/6768
## Issue ticket number and link

## Stack

<!-- branch-stack -->

### Checklist
- [ ] 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)
- [ ] 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/__


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added model-allowlist guardrails for path-routed providers, including
Bedrock and Vertex.
  - Added Bedrock request support for chat interactions.
  - Added guardrail management capabilities.

- **Bug Fixes**
- Requests with missing or blank model identifiers are now denied when a
model allowlist is configured, improving fail-closed protection.
- Corrected provider-specific request handling and session tracking for
Bedrock interactions.

- **Tests**
- Expanded coverage for allowlist enforcement and provider routing
scenarios.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Theodor Midtlien <theodor@midtlien.com>
Co-authored-by: blaugrau90 <61945343+blaugrau90@users.noreply.github.com>
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
2026-07-14 21:22:40 +02:00
Dmitri Dolguikh 671a5f11fd pass sync message version in SyncResponse
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 17:14:16 +02:00
Dmitri Dolguikh 8a3bce259d responded to feedback
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 16:57:39 +02:00
Dmitri Dolguikh c31ed6cbdf add tests for sync message versions
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 16:42:44 +02:00
Dmitri Dolguikh 9160873f94 Merge remote-tracking branch 'origin/main' into components-impl-drop-indexes-use-xids
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 14:17:53 +02:00
Dmitri Dolguikh c15e1cec1d added support for per-account sync message versions
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 14:16:35 +02:00
Dmitri Dolguikh bbe62e0223 more linter fixes
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 12:57:47 +02:00
Dmitri Dolguikh 300981db04 fix linter issues
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 12:56:11 +02:00
Dmitri Dolguikh 5d793985d4 add support for sync message version negotiation
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-14 12:12:49 +02:00
Pascal Fischer 62703ca23e [management] add logs to ephemeral delete (#6747) 2026-07-13 19:06:22 +02:00
Maycon Santos 831325d6e2 [management] require dashboard_features.agent_network when enabling agent_network_only (#6750)
Adds a settings constraint: enabling `agent_network_only` requires `dashboard_features.agent_network` to be `true` in the same account update. Without the Agent Network menu flag, a focused account that later turns the focused view off would lose access to the Agent Network menu entirely, so the two must be set together.

The check runs in `updateAccountRequestSettings` against the parsed request state: if the resulting settings have `agent_network_only == true` but `dashboard_features.agent_network` is not `true`, the update is rejected with `status.InvalidArgument` (HTTP 422) before anything is persisted.

The OpenAPI field descriptions for `agent_network_only` and `dashboard_features.agent_network` document the requirement. Only the descriptions changed — `required` and the schema `$ref` are untouched — and `types.gen.go` was regenerated from the spec (diff is the two comment lines).
2026-07-13 17:28:19 +02:00
Maycon Santos ecd398d895 [management] Add dashboard_features account setting (#6742)
Introduce a nullable dashboard_features object on account settings, serialized
to a single JSON column so new dashboard sections can be added without schema
changes. Starts with agent_network (show the Agent Network menu for an account
without the deployment flag). Wires the API handler mapping, the pgx GetAccount
loader, and adds store round-trip and handler tests.
2026-07-12 21:16:37 +02:00
Maycon Santos aa92ad3fb1 [management] Add agent_network_only account setting (#6736)
* [management] Add agent_network_only account setting

* [management] Load agent_network_only in pgx account loader and cover persistence
2026-07-12 14:46:08 +02:00
30d15ecc3d [client,management] sync 0.74.4 changes (#6727)
* [management] fix: prevent reverse proxy domain from being pushed as DNS search domain by @blaugrau90 in https://github.com/netbirdio/netbird/pull/6498
* [client] Recover from rosenpass key desync by @lixmal in https://github.com/netbirdio/netbird/pull/6714
* [client] Bump golang.org/x/crypto to v0.54.0 by @lixmal in https://github.com/netbirdio/netbird/pull/6709
* [client] fix MDM managementURL conflict on default-port URL echo by @riccardomanfrin in https://github.com/netbirdio/netbird/pull/6672
* [client] Update gopsutil to v4 by @mlsmaycon in https://github.com/netbirdio/netbird/pull/6688
* [client] Fix hanging status command during relay dial by @theodorsm in https://github.com/netbirdio/netbird/pull/6694

---------

Co-authored-by: Theodor Midtlien <theodor@midtlien.com>
Co-authored-by: blaugrau90 <61945343+blaugrau90@users.noreply.github.com>
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
2026-07-11 11:03:55 +02:00
Dmitri Dolguikh d5178416af fix tests around encoding of minimal NetworkMapComponents
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-11 00:31:33 +02:00
Dmitri Dolguikh 0cb27ac4ad include the target peer in the minimal NetworkMapEnvelope's Peers field
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-11 00:03:12 +02:00
Dmitri Dolguikh 6ea97a8d6b support ComponentSyncResponse in affected peers sync path
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 21:21:55 +02:00
Dmitri Dolguikh ff33942c52 do not instantiate cache to benchmark ToProtocolDNSConfig() without cache
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 20:17:16 +02:00
Dmitri Dolguikh aff723e3bb add migrations for public_id column
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 19:23:14 +02:00
Dmitri Dolguikh 4aa486fde8 handle nil components consistently
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 17:12:51 +02:00
Dmitri Dolguikh 8803a58f12 inject agent network services when injecting proxy policies
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 15:46:33 +02:00
Dmitri Dolguikh 42c0cb5398 sort lookup inconsistencies when processing routes when computing components
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 12:58:49 +02:00
Dmitri Dolguikh 384b057f07 use return from GetValidatedPeerWithComponents when computing ComponentSyncResponse to prevent config drift
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 10:59:30 +02:00
Dmitri Dolguikh 35e339b6a9 set session expiry in ToComponentSyncResponse(), same as ToSyncResponse() path
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-10 10:45:54 +02:00
Dmitri Dolguikh 5941b267d2 responding to coderabbit comments
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-09 18:40:33 +02:00
Dmitri Dolguikh ee7806ba7d Merge remote-tracking branch 'origin/main' into components-impl-drop-indexes-use-xids
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-09 17:27:11 +02:00
Dmitri Dolguikh db231fd6ca updated decoder
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-09 17:18:57 +02:00
Dmitri Dolguikh 7cae1b9dd1 replaced sequential IDs with xids (random, uuid-like)
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-09 16:15:58 +02:00
Dmitri Dolguikh 5edc168ff1 use policy ids deduping policies during union
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-09 12:22:29 +02:00
Dmitri Dolguikh 9b9f396391 removed unused func
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-09 12:00:17 +02:00
Dmitri Dolguikh 7c83c090be fixed encoder tests
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-08 22:28:03 +02:00
Dmitri Dolguikh 7cde2c46e6 regenerated sql store mock
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-08 21:47:54 +02:00
Dmitri Dolguikh a36a1a3c26 cleaned up wire representation of components
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
2026-07-08 21:29:14 +02:00
pascal 7c7dfd7f1d fix merge artifacts 2026-07-02 15:07:37 +02:00