Commit Graph
1132 Commits
Author SHA1 Message Date
pascal c4bfbbaa52 refactor access log filter 2026-02-13 11:43:44 +01:00
Viktor Liu e4e9998e40 Ignore print errs 2026-02-13 11:28:00 +01:00
Viktor Liu 4efea823bf Add token cmd to combined and consolidate logic 2026-02-13 11:23:57 +01:00
mlsmaycon 3508144575 Added s.GRPCServer() call before the afterInit 2026-02-13 03:54:33 +01:00
mlsmaycon 0254a380e7 fix load mgmt config 2026-02-13 03:45:05 +01:00
Diego Noguês 14181c909c fix: remove duplicate import 2026-02-13 00:02:50 +01:00
mlsmaycon a05dc3823d Merge branch 'main' into prototype/reverse-proxy
# Conflicts:
#	infrastructure_files/getting-started.sh
2026-02-12 19:27:12 +01:00
Misha Bragin 64b849c801 [self-hosted] add netbird server (#5232)
* Unified NetBird combined server (Management, Signal, Relay, STUN) as a single executable with richer YAML configuration, validation, and defaults.
  * Official Dockerfile/image for single-container deployment.
  * Optional in-process profiling endpoint for diagnostics.
  * Multiplexing to route HTTP/gRPC/WebSocket traffic via one port; runtime hooks to inject custom handlers.
* **Chores**
  * Updated deployment scripts, compose files, and reverse-proxy templates to target the combined server; added example configs and getting-started updates.
2026-02-12 19:24:43 +01:00
Diego Noguês 7d19bdf085 feat: adding traefik + nb's reverse proxy (#5303)
* feat: adding traefik and proxy component to getting-started

* feat: adding traefik and proxy component to getting-started

* feat: adding IPAM settings to docker compose and setting static ip to traefik

* fix: remove change to peers group all

* feat: switch to labels for traefik instead of static conf files

* feat: adding traefik and proxy component to getting-started

* feat: adding IPAM settings to docker compose and setting static ip to traefik

* fix: remove change to peers group all

* feat: switch to labels for traefik instead of static conf files

* chore: remove unnecessary comment

* chore: build

* chore: switching env var for NB_PROXY_DOMAIN
2026-02-12 19:12:20 +01:00
mlsmaycon 57d3ee5aac optimize the DeriveClusterFromDomain function
1. validate domain only for proxy urls
2. use registered target cluster for custom domain extraction
2026-02-12 17:10:32 +01:00
pascal cfdfdecc14 return error if unable to derive cluster on service creation 2026-02-12 16:57:16 +01:00
mlsmaycon ac995bae6d rename url flag to domain and update validation 2026-02-12 16:28:29 +01:00
pascal db5e26db94 rename domain type 2026-02-12 16:15:02 +01:00
Viktor Liu e368d2995b Fix test 2026-02-12 22:57:28 +08:00
Viktor Liu 9554934b92 Validate trusted proxies in OAuth callback getClientIP 2026-02-12 22:06:29 +08:00
pascal 8df1536cbb Merge branch 'main' into prototype/reverse-proxy 2026-02-12 15:05:14 +01:00
pascal ee2ae45653 add permissions validation to domain manager 2026-02-12 14:31:23 +01:00
pascal 6f2f0f9ae4 exclude proxy peers on peers api 2026-02-12 13:49:05 +01:00
pascal e531fb54b1 ignore error 2026-02-12 11:20:22 +01:00
mlsmaycon 6796601aa6 Generate a random nonce to ensure each OIDC request gets a unique state 2026-02-12 10:45:13 +01:00
Viktor Liu bd47f44c63 Preload services targets 2026-02-12 16:04:55 +08:00
Viktor Liu 381260911b Create unique token per proxy 2026-02-12 15:48:35 +08:00
Viktor Liu 38db42e7d6 Fix initial sync complete on empty service list 2026-02-12 15:48:35 +08:00
Viktor Liu 5d606d909d Add TTL-based expiry and cleanup for PKCE verifiers to prevent unbounded memory growth 2026-02-12 15:12:41 +08:00
Viktor Liu d689718b50 Improve logging and error handling 2026-02-12 15:12:41 +08:00
pascal 418377842e fix tests 2026-02-12 02:00:22 +01:00
pascal 917035f8e8 fix tests 2026-02-12 01:52:30 +01:00
pascal 963e3f5457 fix linter issues 2026-02-12 01:15:36 +01:00
pascal e20b969188 fix linter issues 2026-02-12 01:02:13 +01:00
pascal 1c7059ee67 fix some tests 2026-02-12 00:16:33 +01:00
pascal 22a3365658 fix rename errors and tests 2026-02-11 22:34:50 +01:00
pascal 08ab1e3478 rename reverse proxy to services 2026-02-11 21:39:51 +01:00
pascal ebb1f4007d add id to request log search 2026-02-11 19:25:23 +01:00
pascal e020950cfd concat host and path for search and add a status filter 2026-02-11 17:54:29 +01:00
pascal 9dba262a20 add index to access log entries 2026-02-11 17:07:15 +01:00
pascal 5bcdf36377 fix source_ip 2026-02-11 16:50:27 +01:00
pascal 1ffe8deb10 add general search filter 2026-02-11 16:38:31 +01:00
pascal d069145bd1 add more filters 2026-02-11 16:23:52 +01:00
pascal bf48044e5c push filter files 2026-02-11 14:52:44 +01:00
pascal fb4cc37a4a add pagination for access logs 2026-02-11 14:41:52 +01:00
pascal 55b8d89a79 add rate limiting for callback endpoint 2026-02-11 13:42:54 +01:00
pascal 6968a32a5a move to argon2id 2026-02-11 13:26:40 +01:00
pascal cfe6753349 hash pin and password 2026-02-11 11:48:15 +01:00
pascal b79adb706c add services to permissions list 2026-02-11 10:38:20 +01:00
mlsmaycon eea6120cd0 refactor: add ValidateSession gRPC and streamline test setup
- Add ValidateSession gRPC method for proxy-side user validation
- Move group access validation from REST callback to gRPC layer
- Capture user info in access logs via CapturedData mutable pointer
- Create validate_session_test.go for gRPC validation tests
- Simplify auth_callback_integration_test.go to create accounts
  programmatically instead of using SQL file
- SQL test data file now only used by validate_session_test.go
2026-02-10 20:31:03 +01:00
Vlad fc88399c23 [management] fixed ischild check (#5279) 2026-02-10 20:31:15 +03:00
pascal 0cb02bd906 fix path handling + extract targets to separate table + guard resource/peer deletion 2026-02-10 17:12:34 +01:00
mlsmaycon b16d63643c Add group-based access control for SSO reverse proxy authentication
Implement user group validation during OAuth callback to ensure users
belong to allowed distribution groups before granting access to reverse
proxies. This provides account isolation and fine-grained access control.

Key changes:
- Add ValidateUserGroupAccess to ProxyServiceServer for group membership checks
- Redirect denied users to error page with access_denied parameter
- Handle OAuth error responses in proxy middleware
- Add comprehensive integration tests for auth callback flow
2026-02-10 16:25:00 +01:00
pascal ca9a7e11ef continue on host lookup failure 2026-02-10 14:38:15 +01:00
pascal a803f47685 add network map support for clustering 2026-02-10 14:29:20 +01:00