From a00c5164a8d1a19a0631e9f08a7d680674ed9c73 Mon Sep 17 00:00:00 2001 From: pascal Date: Mon, 3 Aug 2026 22:29:47 +0200 Subject: [PATCH] continue on resource policy loop + exclude disabled policies form index --- .../network_map_db/pgsql/network_map_data.go | 2 +- .../internals/network_map_db/pgsql/policy.go | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/management/internals/network_map_db/pgsql/network_map_data.go b/management/internals/network_map_db/pgsql/network_map_data.go index 41be6cb22..e94444908 100644 --- a/management/internals/network_map_db/pgsql/network_map_data.go +++ b/management/internals/network_map_db/pgsql/network_map_data.go @@ -94,7 +94,7 @@ func (pg *PgStore) GetNetworkMapData(ctx context.Context, accountId string) (*ne } if _, ok := policyToDestinationResourceIdx[policy.ID][resource.ID]; ok { resourcePolicies[resource.ID] = append(resourcePolicies[resource.ID], &policy) // TODO (dmitri) maybe use public id? - break + continue } if groupIds, ok := policyToDestinationGroupIdx[policy.ID]; ok { for networkResourceGroup := range networkResourceGroups { diff --git a/management/internals/network_map_db/pgsql/policy.go b/management/internals/network_map_db/pgsql/policy.go index ce7a8f9d0..72aecaed8 100644 --- a/management/internals/network_map_db/pgsql/policy.go +++ b/management/internals/network_map_db/pgsql/policy.go @@ -86,11 +86,13 @@ func GetPoliciesViaPgxConnection(ctx context.Context, con *pgx.Conn, accountId s return toret, nil, nil, err } - for _, dst := range pr().Destinations { - if _, ok := policyToDestinationGroupIdx[p.ID]; !ok { - policyToDestinationGroupIdx[p.ID] = make(map[string]any) + if p.RuleEnabled.Valid && p.RuleEnabled.Bool { + for _, dst := range pr().Destinations { + if _, ok := policyToDestinationGroupIdx[p.ID]; !ok { + policyToDestinationGroupIdx[p.ID] = make(map[string]any) + } + policyToDestinationGroupIdx[p.ID][dst] = struct{}{} } - policyToDestinationGroupIdx[p.ID][dst] = struct{}{} } } if len(p.SourceResource) > 0 { @@ -105,10 +107,12 @@ func GetPoliciesViaPgxConnection(ctx context.Context, con *pgx.Conn, accountId s return toret, nil, nil, err } - if _, ok := policyToDestinationResourceIdx[p.ID]; !ok { - policyToDestinationResourceIdx[p.ID] = make(map[string]any) + if p.RuleEnabled.Valid && p.RuleEnabled.Bool { + if _, ok := policyToDestinationResourceIdx[p.ID]; !ok { + policyToDestinationResourceIdx[p.ID] = make(map[string]any) + } + policyToDestinationResourceIdx[p.ID][pr().DestinationResource.ID] = struct{}{} } - policyToDestinationResourceIdx[p.ID][pr().DestinationResource.ID] = struct{}{} } if len(p.Ports) > 0 { err := json.Unmarshal([]byte(p.Ports), &pr().Ports)