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