diff --git a/management/server/peer.go b/management/server/peer.go index 9d78f597b..32e75875d 100644 --- a/management/server/peer.go +++ b/management/server/peer.go @@ -1159,6 +1159,7 @@ func (am *DefaultAccountManager) LoginPeer(ctx context.Context, login types.Peer return err } + updated, versionChanged := peer.UpdateMetaIfNew(login.Meta) if peer.SSHKey != login.SSHKey { peer.SSHKey = login.SSHKey shouldStorePeer = true @@ -1168,7 +1169,7 @@ func (am *DefaultAccountManager) LoginPeer(ctx context.Context, login types.Peer return status.Errorf(status.PreconditionFailed, "couldn't login peer: setup key doesn't allow extra DNS labels") } - if shouldStorePeer { + if shouldStorePeer || updated || versionChanged { if err = transaction.SavePeer(ctx, accountID, peer); err != nil { return err }