- Move the new zone config key into the existing AgentNetwork config
group (management/internals/server/config/config.go) instead of a
sibling top-level field, wire modules.go to the new path, add the
matching field to combined/cmd/config.go's AgentNetworkConfig and its
mapping (it was previously unreachable in the combined binary), and
document the key in infrastructure_files/management.json.tmpl and
combined/config.yaml.example.
- Delete PickUnique and its three tests: Task 5 removed its last
production caller, leaving it dead exported code with a stale
words.go comment pointing at it.
- Reword two test comments that referenced our private review process
instead of stating what the test locks down / why TargetId stays
pinned to Cluster.
- Add TestBootstrapSettings_NonRetryableErrorFailsImmediately: a
regression that dropped the isUniqueConstraintError gate and retried
on every error would leave every existing allocator test green.
- Fix TestSynthesizeServiceForDomain_DegenerateInput's docstring: the
early-return guard is an optimisation, not what makes "" and
"localhost" resolve to no service.
- Replace manager.go's allocation-comment archaeology (a deleted
per-cluster "taken" set, an `accountID[:4]` suffix, "~68 minutes") with
the actual invariant, and note why each retry attempt gets its own
transaction (a failed statement poisons the enclosing transaction on
postgres).
- Collapse the per-service "no matching zone apex" debug log in
account.go into a single line per call instead of one per skipped
service.
- Document why idx_agent_network_settings_cluster_subdomain must stay
on mysql: its index tag is what sizes subdomain as varchar(191)
rather than longtext, which the new unique index requires.
Adds AgentNetwork.Zone to the management config and passes it to the
agent-network manager, alongside the existing plumbing in the combined
binary. Nothing reads it yet -- the allocator that stamps it onto new rows
comes next -- so this commit is inert on its own.
Embed Dex as a built-in IdP to simplify self-hosting setup.
Adds an embedded OIDC Identity Provider (Dex) with local user management and optional external IdP connectors (Google/GitHub/OIDC/SAML), plus device-auth flow for CLI login. Introduces instance onboarding/setup endpoints (including owner creation), field-level encryption for sensitive user data, a streamlined self-hosting provisioning script, and expanded APIs + test coverage for IdP management.
more at https://github.com/netbirdio/netbird/pull/5008#issuecomment-3718987393