github.com/myafeier/fabric@v1.0.1-0.20170722181825-3a4b1f2bce86/examples/cluster/compose/report-env.sh (about) 1 #!/bin/bash 2 # 3 # Copyright Greg Haskins All Rights Reserved. 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 # 7 8 9 NODES=$1 10 CONFIG=$2 11 TLS=$3 12 13 getip() { 14 HOST=$1 15 16 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $HOST 17 } 18 19 url() { 20 TYPE=$1 21 NODE=$2 22 PORT=$3 23 24 if [ "$TLS" == "true" ]; then 25 TYPE="$1s" 26 fi 27 28 echo $TYPE://$(getip $NODE):$PORT 29 } 30 31 http() { 32 NODE=$1 33 PORT=$2 34 35 echo $(url "http" $NODE $PORT) 36 } 37 38 grpc() { 39 NODE=$1 40 PORT=$2 41 42 echo $(url "grpc" $NODE $PORT) 43 } 44 45 peerurls() { 46 for i in $(seq 1 4); do 47 echo "$(url grpc peer$i, 7051)" 48 done 49 } 50 51 generate_hosts() { 52 for NODE in $NODES; do 53 echo "$(getip $NODE) $NODE" 54 done 55 } 56 57 includefile() { 58 file=$1 59 prefix=$2 60 61 echo "|" 62 63 while IFS= read -r line; do 64 printf '%s%s\n' "$prefix" "$line" 65 done < "$file" 66 } 67 68 echo "========================================================================" 69 echo "Cluster ready!" 70 echo "========================================================================" 71 echo 72 generate_hosts | sort 73 74 cat <<EOF > $CONFIG 75 # 76 # Generated by fabric.git/examples/cluster. DO NOT EDIT! 77 # 78 ca: 79 url: $(http "ca" "7054") 80 certificate: $(includefile build/nodes/ca/ca.crt " ") 81 82 tlsca: 83 url: $(http "tlsca" "7054") 84 certificate: $(includefile build/nodes/tlsca/ca.crt " ") 85 86 orderer: 87 url: $(grpc "orderer" "7050") 88 hostname: orderer 89 ca: $(includefile build/nodes/orderer/tls/ca.crt " ") 90 91 peers: 92 $(for i in $(seq 1 4); do 93 echo " - api: $(grpc peer$i 7051)" 94 echo " events: $(grpc peer$i 7053)" 95 echo " hostname: peer$i" 96 done) 97 98 identity: 99 principal: Admin@org1.net 100 mspid: Org1MSP 101 privatekey: $(includefile build/nodes/cli/tls/server.key " ") 102 certificate: $(includefile build/nodes/cli/tls/server.crt " ") 103 EOF