Skip to content

Commit a437b02

Browse files
committed
Filter peers by org, global peers and global CAs
1 parent 23a2aa3 commit a437b02

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed

config/rbac/auth_proxy_client_clusterrole.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
apiVersion: rbac.authorization.k8s.io/v1beta1
1+
apiVersion: rbac.authorization.k8s.io/v1
22
kind: ClusterRole
33
metadata:
44
name: metrics-reader

controllers/networkconfig/networkconfig_controller.go

+25-16
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,19 @@ func (r *FabricNetworkConfigReconciler) Reconcile(ctx context.Context, req ctrl.
311311
}
312312
certAuths = append(certAuths, ca)
313313
}
314+
// filter by cas included, if any
315+
if len(fabricNetworkConfig.Spec.CertificateAuthorities) > 0 {
316+
var cas []*helpers.ClusterCA
317+
for _, ca := range certAuths {
318+
for _, fabricNetworkConfigCA := range fabricNetworkConfig.Spec.CertificateAuthorities {
319+
log.Infof("NAME=%s NAMECA=%s NS=%s NSCA=%s", ca.Item.Name, fabricNetworkConfigCA.Name, ca.Item.Namespace, fabricNetworkConfigCA.Namespace)
320+
if ca.Item.Name == fabricNetworkConfigCA.Name && ca.Item.Namespace == fabricNetworkConfigCA.Namespace {
321+
cas = append(cas, ca)
322+
}
323+
}
324+
}
325+
certAuths = cas
326+
}
314327
for _, v := range peerOrgs {
315328
if (filterByOrgs && utils.Contains(fabricNetworkConfig.Spec.Organizations, v.MspID)) || !filterByOrgs {
316329
var peers []*helpers.ClusterPeer
@@ -412,29 +425,25 @@ func (r *FabricNetworkConfigReconciler) Reconcile(ctx context.Context, req ctrl.
412425
// iterate through clusterpeers and remove the ones that are not in the list
413426
// peers = peer0-org1 peer1-org1 peer1-ch-org1
414427
// org peers
428+
var orgPeers []*helpers.ClusterPeer
415429
for _, peer := range org.Peers {
416-
for idx, p := range peers {
417-
if p.Name == peer.Name && p.Namespace == peer.Namespace {
418-
// keep
430+
for _, p := range peers {
431+
if p.Object.Name == peer.Name && p.Object.Namespace == peer.Namespace {
432+
orgPeers = append(orgPeers, p)
419433
} else {
420-
// remove
421-
peers = append(peers[:idx], peers[idx+1:]...)
434+
// delete from peers
422435
}
423436
}
424-
_, ok := orgMap[mspID]
425-
if !ok {
426-
continue
427-
}
428-
for idx, p := range orgMap[mspID].Peers {
429-
if p.Name == peer.Name && p.Namespace == peer.Namespace {
430-
// keep
431-
} else {
432-
// remove
433-
orgMap[mspID].Peers = append(orgMap[mspID].Peers[:idx], orgMap[mspID].Peers[idx+1:]...)
437+
}
438+
for _, peer := range org.Peers {
439+
for idx, p := range peers {
440+
if p.MSPID == mspID && (p.Object.Name != peer.Name || p.Object.Namespace != peer.Namespace) {
441+
peers = append(peers[:idx], peers[idx+1:]...)
442+
break
434443
}
435444
}
436-
437445
}
446+
orgMap[mspID].Peers = orgPeers
438447
}
439448
}
440449

0 commit comments

Comments
 (0)