Skip to content

Commit

Permalink
Filter peers by org, global peers and global CAs
Browse files Browse the repository at this point in the history
  • Loading branch information
dviejokfs committed Jan 6, 2024
1 parent 23a2aa3 commit a437b02
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 17 deletions.
2 changes: 1 addition & 1 deletion config/rbac/auth_proxy_client_clusterrole.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: metrics-reader
Expand Down
41 changes: 25 additions & 16 deletions controllers/networkconfig/networkconfig_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,19 @@ func (r *FabricNetworkConfigReconciler) Reconcile(ctx context.Context, req ctrl.
}
certAuths = append(certAuths, ca)
}
// filter by cas included, if any
if len(fabricNetworkConfig.Spec.CertificateAuthorities) > 0 {
var cas []*helpers.ClusterCA
for _, ca := range certAuths {
for _, fabricNetworkConfigCA := range fabricNetworkConfig.Spec.CertificateAuthorities {
log.Infof("NAME=%s NAMECA=%s NS=%s NSCA=%s", ca.Item.Name, fabricNetworkConfigCA.Name, ca.Item.Namespace, fabricNetworkConfigCA.Namespace)
if ca.Item.Name == fabricNetworkConfigCA.Name && ca.Item.Namespace == fabricNetworkConfigCA.Namespace {
cas = append(cas, ca)
}
}
}
certAuths = cas
}
for _, v := range peerOrgs {
if (filterByOrgs && utils.Contains(fabricNetworkConfig.Spec.Organizations, v.MspID)) || !filterByOrgs {
var peers []*helpers.ClusterPeer
Expand Down Expand Up @@ -412,29 +425,25 @@ func (r *FabricNetworkConfigReconciler) Reconcile(ctx context.Context, req ctrl.
// iterate through clusterpeers and remove the ones that are not in the list
// peers = peer0-org1 peer1-org1 peer1-ch-org1
// org peers
var orgPeers []*helpers.ClusterPeer
for _, peer := range org.Peers {
for idx, p := range peers {
if p.Name == peer.Name && p.Namespace == peer.Namespace {
// keep
for _, p := range peers {
if p.Object.Name == peer.Name && p.Object.Namespace == peer.Namespace {
orgPeers = append(orgPeers, p)
} else {
// remove
peers = append(peers[:idx], peers[idx+1:]...)
// delete from peers
}
}
_, ok := orgMap[mspID]
if !ok {
continue
}
for idx, p := range orgMap[mspID].Peers {
if p.Name == peer.Name && p.Namespace == peer.Namespace {
// keep
} else {
// remove
orgMap[mspID].Peers = append(orgMap[mspID].Peers[:idx], orgMap[mspID].Peers[idx+1:]...)
}
for _, peer := range org.Peers {
for idx, p := range peers {
if p.MSPID == mspID && (p.Object.Name != peer.Name || p.Object.Namespace != peer.Namespace) {
peers = append(peers[:idx], peers[idx+1:]...)
break
}
}

}
orgMap[mspID].Peers = orgPeers
}
}

Expand Down

0 comments on commit a437b02

Please sign in to comment.