pascal
c81103dfa6
fix linter comments
2026-08-05 16:21:01 +02:00
Dmitri Dolguikh
ba574dc739
added tests for GetPrivateServicesViaPgxConnection and GetPrivateServicesViaPgxConnection
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-05 16:06:43 +02:00
pascal
006cee000f
Merge remote-tracking branch 'origin/revert/component-types' into revert/component-types
2026-08-05 13:56:46 +02:00
pascal
c93aa03c0e
merge main
2026-08-05 13:56:35 +02:00
Dmitri Dolguikh
efe2eaeb09
added GetDomains test
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-05 12:37:58 +02:00
Dmitri Dolguikh
1926e983fb
added GetDnsSettings test
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-05 12:03:36 +02:00
Dmitri Dolguikh
795e06ce83
Merge remote-tracking branch 'origin/revert/component-types' into revert/component-types
2026-08-05 10:16:54 +02:00
Dmitri Dolguikh
748f6b3fbb
fixes + tests
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-05 10:16:21 +02:00
pascal
b43708e31b
silently skip resource to proto failure
2026-08-04 20:42:43 +02:00
Dmitri Dolguikh
33a0e1bc2b
adding integration tests
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-04 18:58:29 +02:00
Dmitri Dolguikh
4d010f60ce
fix another import
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-04 15:40:28 +02:00
Dmitri Dolguikh
3272058e56
fix extra setting manager package
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-04 13:34:25 +02:00
Dmitri Dolguikh
70c3feb05b
Merge remote-tracking branch 'origin/revert/component-types' into revert/component-types
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-04 13:04:51 +02:00
Dmitri Dolguikh
a0fe80cd99
wire up validated peers
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-04 12:52:09 +02:00
Maycon Santos
bc7a15ab71
[management] Align agent-network API contracts for API clients ( #7026 )
...
## Describe your changes
Work on the Terraform provider (terraform-provider-netbird #177–#183)
surfaced places where the agent-network API broke its own contracts or
deviated from the conventions the rest of the management API follows,
forcing client-side workarounds.
Settings reads now follow the settings-endpoint convention: GET always
answers with a JSON object. Before bootstrap it returns the defaults
with an empty cluster/subdomain/endpoint (previously 200 with a JSON
`null` body, while the spec said 404). The settings PUT can bootstrap
the account by carrying a `cluster` — previously the row could only come
into existence through the first provider create, and a settings-first
setup was impossible; a differing cluster on a bootstrapped account is
rejected instead of silently ignored. PUT remains full-state.
The provider PUT schema promised omit-preserves semantics for several
operator-editable fields that the handler never delivered (it builds the
row from the request, like every other update handler). The schema
wording now matches the shipped full-state behavior; only the api_key
(secret) and session keys stay preserved by the manager. Identity
headers are always present in provider responses so an explicitly
cleared value round-trips as an empty string.
The Go REST client gains the full agent-network surface (catalog,
providers, policies, guardrails, budget rules, settings), including a
shim translating the legacy 200+`null` settings body from older servers
into an `IsNotFound` error.
Note for reviewers: the dashboard special-cased the `null` settings
body; it needs a small follow-up for the new defaults response (in
progress).
2026-08-04 01:59:09 +02:00
pascal
6fadf8f24a
fix nmdata store expanding router peer groups alongside static peer
2026-08-03 23:58:47 +02:00
pascal
ef0032685b
fix nmdata store shipping zones for disabled/public services
2026-08-03 23:54:22 +02:00
pascal
d4e1c8978e
add all group to user group lookup
2026-08-03 23:08:43 +02:00
pascal
d5ac70d806
fix missing ForceRoutingPeerDNSResolution on the nmdata store path
2026-08-03 22:50:06 +02:00
pascal
23579e4dd4
Skip the left-join NULL row instead of failing the account load + drop unsupported record types silently to match buildAppliedZoneCandidates
2026-08-03 22:38:12 +02:00
pascal
a00c5164a8
continue on resource policy loop + exclude disabled policies form index
2026-08-03 22:29:47 +02:00
pascal
02138dffdd
fix group id mapping
2026-08-03 22:24:28 +02:00
pascal
07d0440e34
fix slice initialization to avoid nil pointer dereference
2026-08-03 21:51:48 +02:00
pascal
2c85d94c6c
hookup validated peers
2026-08-03 21:47:41 +02:00
Dmitri Dolguikh
1f190a50cf
Merge remote-tracking branch 'origin/revert/component-types' into revert/component-types
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 18:22:34 +02:00
Dmitri Dolguikh
52fdfd5bdc
add an posture-check-id to public-id index
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 18:21:07 +02:00
Dmitri Dolguikh
e35a0f3318
added PrivateServiceCandidates
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 18:04:11 +02:00
pascal
56c411babd
fixed networks query and extended error wrapping
2026-08-03 17:52:33 +02:00
Dmitri Dolguikh
164b2baa4d
Merge remote-tracking branch 'origin/revert/component-types' into revert/component-types
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 17:29:42 +02:00
Dmitri Dolguikh
0b29c6ed1a
adding buildPrivateServiceCandidates
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 17:29:09 +02:00
pascal
724b61440b
use new path on initial sync
2026-08-03 17:27:58 +02:00
pascal
22590ad66e
hookup network map store
2026-08-03 17:27:24 +02:00
Dmitri Dolguikh
b8e004ea89
also build proxy-cluster to peer idx
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 14:58:53 +02:00
Dmitri Dolguikh
e2797360f4
support for applied zone candidates
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 14:32:54 +02:00
Dmitri Dolguikh
2f399f1e6e
wire up dnssettings
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 14:12:27 +02:00
Dmitri Dolguikh
82c1e18264
renamed allowed_user_ids.go to user.got
2026-08-03 13:54:22 +02:00
Dmitri Dolguikh
ce9023bd27
wire up accountsettings
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 13:51:25 +02:00
Dmitri Dolguikh
7d33356776
support for group to user ids
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 13:47:14 +02:00
Pascal Fischer
f9b412228e
[management] fix handling of empty network map during decode and encode ( #6987 )
2026-08-03 13:20:53 +02:00
Maycon Santos
2bfd9fcffe
[management] Resolve agent network permissions per submodule ( #7030 )
...
## Describe your changes
Agent Network gates providers, policies, guardrails, budgets, usage,
access logs, and settings behind the single `agent_network` permission
module, so access is all-or-nothing: a future delegated role cannot be
scoped to a subset of the area (for example usage-only visibility).
This introduces dotted submodules (`agent_network.providers`,
`.policies`, `.guardrails`, `.budgets`, `.usage`, `.logs`, `.settings`)
and resolves grants with a cascade: exact module first, then its parent,
then the role's `AutoAllowNew` default. The agent network manager now
validates each operation against its matching submodule. `usage`
(aggregated counters, overview) is deliberately separate from `logs`
(request-level entries, which can contain captured prompts).
No role definitions change. No built-in role carries an explicit
`agent_network` entry, so every role resolves the submodules exactly as
it resolved the parent module before — pinned by a test that compares
each built-in role's answer on every submodule against its answer on
`agent_network`. Role additions that use these submodules come
separately.
2026-08-03 12:45:17 +02:00
Brad Ison
7639655883
[management] Generic gRPC extension seam for external modules ( #6894 )
...
## Describe your changes
This adds an extension point to the management server for registering
additional gRPC services. We already have a generic integrations system
and dependency injection for server components. This closes the gap on
being able to also extend the gRPC API cleanly.
## Issue ticket number and link
N/A
## Stack
<!-- branch-stack -->
### Checklist
- [ ] Is it a bug fix
- [ ] Is a typo/documentation fix
- [x] 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)
No docs needed. This is strictly a small internal plumbing enhancement /
refactor.
<!-- codesmith:footer -->
---
<a
href="https://app.blacksmith.sh/netbirdio/codesmith/netbird/pr/6894 "><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 [code]smith"
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=1787582002&installation_model_id=427504&pr_number=6894&repository=netbirdio%2Fnetbird&return_to=https%3A%2F%2Fgithub.com%2Fnetbirdio%2Fnetbird%2Fpull%2F6894&signature=3288061677db243031830964fec8f0f34c82f7fc63a39298cd0b4e3490551060 "><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 [code]smith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg "></picture></a>
<sup>Need help on this PR? Tag <code>@codesmith-bot</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
* **New Features**
* Added a gRPC extension mechanism to contribute additional services and
automatically chain extra unary and stream interceptors.
* Extension shutdown hooks now run as part of server stop.
* Added exported proxy token generation via `GenerateProxyToken()` for
external integrations.
* **Tests**
* Added coverage for extension interceptor/service wiring, extension
shutdown execution, and proxy token generation validation (including
hash consistency and prefix).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-08-03 12:26:38 +02:00
Dmitri Dolguikh
993291149c
Merge remote-tracking branch 'origin/revert/component-types' into revert/component-types
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 12:20:18 +02:00
Dmitri Dolguikh
98f7ea40a1
added allowed_user_ids call
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 12:19:50 +02:00
pascal
76db9ab94f
update integrated validator
2026-08-03 12:11:35 +02:00
Dmitri Dolguikh
9653b15d78
automatically fill empty public ids for view types
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 11:34:22 +02:00
Dmitri Dolguikh
206bb1676b
build resourcePolicies map
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-03 10:53:54 +02:00
Dmitri Dolguikh
600b0c752b
also return a net resource to groups index from GetGroups call
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-01 11:56:17 +02:00
Dmitri Dolguikh
b02736adc3
cleanup network routers retrieval
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-08-01 11:54:14 +02:00
Misha Bragin
0780a806f2
[management, proxy] Management-owned LLM pricing: file-backed defaults + ( #6965 )
2026-07-31 20:52:56 +02:00
Dmitri Dolguikh
5d6117d2c0
adding network_map_data: compute Routers field
...
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io >
2026-07-31 17:56:52 +02:00