mirror of
https://github.com/netbirdio/netbird.git
synced 2026-05-31 04:59:54 +00:00
When a proxy connects with capabilities, the registerProxyConnection path constructs a *proxy.Capabilities literal but only copies three of the four fields (SupportsCustomPorts, RequireSubdomain, SupportsCrowdsec) — Private is silently dropped. Effect: the DB's proxies.private column stays NULL for every connection, GetClusterSupportsPrivate sees no proxy reported the capability and returns nil, and the cluster API response strips "private" via openapi omitempty. The dashboard then can't tell a private cluster apart from a centralised one. Add the missing field to the struct literal. No schema change — the Capabilities.Private column already exists (gorm:"embedded"); only the write path was broken. After redeploy + a proxy reconnect, /api/reverse-proxies/clusters now returns "private": true for clusters where an embedded `netbird proxy` is connected.