github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/ops/terraform/scripts/upload_cid.sh (about)

     1  #!/bin/bash
     2  
     3  # a script that will upload a CID to nodes in a terraform workspace
     4  # it queries the gcloud CLI for IP addresses
     5  # and then does an "ipfs --api X add X" for each node
     6  set -euo pipefail
     7  IFS=$'\n\t'
     8  
     9  export WORKSPACE=${1:-""}
    10  export LOCALPATH=${2:-""}
    11  
    12  if [ -z "$WORKSPACE" ]; then
    13    echo "Usage: $0 <workspace> <local-path>"
    14    exit 1
    15  fi
    16  
    17  if [ -z "$LOCALPATH" ]; then
    18    echo "Usage: $0 <workspace> <local-path>"
    19    exit 1
    20  fi
    21  
    22  if [ ! -e "$LOCALPATH" ]; then
    23    echo "$LOCALPATH file or directory not found"
    24    exit 1
    25  fi
    26  
    27  filename=$(basename $LOCALPATH)
    28  
    29  for name in $(gcloud compute instances list --format="value(name)" --filter="name~$WORKSPACE"); do
    30    echo "Uploading $filename to $name"
    31    gcloud compute scp --recurse $LOCALPATH $name:$filename
    32    gcloud compute ssh $name -- ipfs --api=/ip4/127.0.0.1/tcp/5001 add -r $filename
    33    gcloud compute ssh $name -- rm -rf $filename
    34  done