You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An NBRoutingPeer's netbird daemon authenticates only once, at container start (netbird up with the operator-minted setup key). When the management server later forces a re-authentication — e.g. login-session expiry, or a host/VM suspend/resume — the running daemon drops to Daemon status: SessionExpired / NeedsLogin and never re-auths on its own:
failed to login to Management Service: rpc error: code = PermissionDenied desc = no peer auth method provided, please use a setup key or interactive SSO login
The pod stays Running (no container restart), so nothing recycles it and routing silently dies. In some cases the peer is fully deregistered (peer is not registered).
Why it's not self-healing
The NBRoutingPeer CR keeps reporting status.conditions: Ready=True — it reflects Deployment/k8s health, not the daemon's session state, so the dead session is invisible.
NetBird Operator Version
0.7.0
Kubernetes Version
v1.35.0
CNI
Flannel
Describe the bug
Summary
An
NBRoutingPeer's netbird daemon authenticates only once, at container start (netbird upwith the operator-minted setup key). When the management server later forces a re-authentication — e.g. login-session expiry, or a host/VM suspend/resume — the running daemon drops toDaemon status: SessionExpired/NeedsLoginand never re-auths on its own:The pod stays
Running(no container restart), so nothing recycles it and routing silently dies. In some cases the peer is fully deregistered (peer is not registered).Why it's not self-healing
NBRoutingPeerCR keeps reportingstatus.conditions: Ready=True— it reflects Deployment/k8s health, not the daemon's session state, so the dead session is invisible.kubectl rollout restart deploy/<routingpeer>(the reusable setup key in the secret re-enrolls the new pod).The same wedge affects
SidecarProfile-injected client sidecars.Environment
v0.7.0, netbird client0.72.4Suggestions (any one would help)
NBRoutingPeer.status(flipReady=FalseonSessionExpired/NeedsLogin) so it's observable/alertable.Current workaround
An external watchdog CronJob that execs
netbird statusandrollout restarts the peer on a terminal state: vgijssel/setup#998