helm repo add edgeflare https://helm.edgeflare.io
helm repo update
helm search repo edgeflare
helm install my-release edgeflare/<chart-name>The installaton might take up to 5-10 minutes to reconcile
- 2 Orgs, each with 2 peers (peer0.org1, peer1.org1, peer0.org2, peer1.org2)
- 3 Orderering nodes (orderer0, orderer1, orderer2)
- 1 Fabric CA for each org (ca.org1, ca.org2) and 1 CA for orderer (ca.orderer)
- Components of each org is deployed in its own namespace (org1, org2, orderer)
- non-root containers
- only certificates are distributed to participants' namespaces; keys remain in respective org's namespace
- suitable for multi-cloud network
- Kubernetes cluster (e.g., kind, k3s, EKS, GKE, AKS etc.)
- kubectl and helm installed
- Ensure cert-manager is installed in the cluster
- Optionally instal a Kubernetes Gateway API controller e.g., Istio, Traefik, EnvoyGateway, etc. See docs for exposing Fabric network to the internet using TLSRoute CRD of Kubernetes Gateway API. If using Istio, enable alpha TLSRoute CRD:
kubectl -n istio-system set env deploy/istiod PILOT_ENABLE_ALPHA_GATEWAY_API=truefor ns in org1 org2 orderer; do
kubectl create ns $ns
donehelm upgrade --install -n org1 ca-org1 edgeflare/fabric-ca --set caOrg=org1 --set 'distributeTLSCACertToOrgs[0]=org2'
helm upgrade --install -n org2 ca-org2 edgeflare/fabric-ca --set caOrg=org2 --set 'distributeTLSCACertToOrgs[0]=org1'
helm upgrade --install -n orderer ca-orderer edgeflare/fabric-ca --set caOrg=orderer --set 'distributeTLSCACertToOrgs[0]=org1' --set 'distributeTLSCACertToOrgs[1]=org2'helm -n orderer upgrade --install orderer1 edgeflare/fabric-orderer --set orderer.name=orderer1
helm -n orderer upgrade --install orderer2 edgeflare/fabric-orderer --set orderer.name=orderer2
helm -n orderer upgrade --install orderer3 edgeflare/fabric-orderer --set orderer.name=orderer3helm -n org1 upgrade --install peer0-org1 edgeflare/fabric-peer --set peer.name=peer0
helm -n org1 upgrade --install peer1-org1 edgeflare/fabric-peer --set peer.name=peer1
helm -n org2 upgrade --install peer0-org2 edgeflare/fabric-peer --set peer.name=peer0 --set peer.org=org2
helm -n org2 upgrade --install peer1-org2 edgeflare/fabric-peer --set peer.name=peer1 --set peer.org=org2helm -n orderer upgrade --install join-default-genesis edgeflare/fabric-channelhelm -n orderer upgrade --install install-asset-cc edgeflare/fabric-chaincodehelm -n org1 upgrade --install hyperledger-explorer edgeflare/hyperledger-explorerkubectl -n org1 port-forward svc/hyperledger-explorer 8080:80Hyperledger Explorer can now be accessed at http://localhost:8080. The default username and password is exploreradmin and exploreradminpw.
See fabric-oidc-proxy for more.
for ns in org1 org2 orderer; do
kubectl delete ns $ns
doneApache License 2.0
If you wanna make it better, please do! Fork the repo, make your changes, and submit a PR.