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