Apply posture and validated-peers filtering on ResourceTypePeer policy resolution

This commit is contained in:
Viktor Liu
2026-05-17 06:33:23 +02:00
parent 94068d3ebc
commit a8541a1529

View File

@@ -906,7 +906,20 @@ func (a *Account) resolveRuleEndpoint(
validatedPeersMap map[string]struct{},
) ([]*nbpeer.Peer, bool) {
if resource.Type == ResourceTypePeer && resource.ID != "" {
return a.getPeerFromResource(resource, peerID)
resolvedPeer := a.GetPeer(resource.ID)
if resolvedPeer == nil {
return []*nbpeer.Peer{}, false
}
if len(postureChecks) > 0 && !a.validatePostureChecksOnPeer(ctx, postureChecks, resolvedPeer.ID) {
return []*nbpeer.Peer{}, false
}
if _, ok := validatedPeersMap[resolvedPeer.ID]; !ok {
return []*nbpeer.Peer{}, false
}
if resolvedPeer.ID == peerID {
return []*nbpeer.Peer{}, true
}
return []*nbpeer.Peer{resolvedPeer}, false
}
return a.getAllPeersFromGroups(ctx, groups, peerID, postureChecks, validatedPeersMap)
}