#!/bin/bash -e cd "$(dirname ${BASH_SOURCE[0]})/.." echo "Increasing Cloud9 storage" export INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id) export VOLUME_ID=$(aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=$INSTANCE_ID --query Volumes[*].VolumeId --output text) export VOLUME_SIZE=$(aws ec2 describe-volumes --volume-id $VOLUME_ID --query 'Volumes[*].Size' --output text) if (( $VOLUME_SIZE < 50 )); then aws ec2 modify-volume --volume-id $VOLUME_ID --size 50 sleep 10.0 sudo growpart /dev/nvme0n1 1 sudo xfs_growfs -d / fi echo "Installing OS packages" sudo yum install -y postgresql echo "Installing latest CDK" npm uninstall -g cdk npm install -g aws-cdk echo "Installing Node dependencies" npm install echo "Pulling Hyperledger tools docker images" docker pull hyperledger/fabric-ca:1.4.9 docker pull hyperledger/fabric-tools:1.2.0 echo "Creating dummy CDK data files" mkdir -p "cdk.out/data" [[ ! -f "cdk.out/data/cloud9.json" ]] && echo '{"instanceId":"","securityGroupId":""}' > "cdk.out/data/cloud9.json" [[ ! -f "cdk.out/data/network.json" ]] && echo '{"FrameworkAttributes":{"Fabric":{"OrderingServiceEndpoint":""}},"VpcEndpointServiceName":""}' > "cdk.out/data/network.json" [[ ! -f "cdk.out/data/member.json" ]] && echo '{"Id":"","Name":"","FrameworkAttributes":{"Fabric":{"CaEndpoint":"","PeerEndpoint":""}}}' > "cdk.out/data/member.json" [[ ! -f "cdk.out/data/node.json" ]] && echo '{"FrameworkAttributes":{"Fabric":{"PeerEndpoint":"","PeerEventEndpoint":""}}}' > "cdk.out/data/node.json" mkdir -p "$HOME/explorer" touch "$HOME/explorer/Dockerfile" echo "Bootstrapping CDK" cdk bootstrap echo "Prerequisites successfully installed"