github.com/sentienttechnologies/studio-go-runner@v0.0.0-20201118202441-6d21f2ced8ee/cloud/azure/install.sh (about) 1 #!/bin/bash 2 [ -z "$MINIO_ACCESS_KEY" ] && { echo "The MINIO_ACCESS_KEY, and MINIO_SECRET_KEY environment variables must be defined."; exit -1 ; } 3 [ -z "$MINIO_SECRET_KEY" ] && { echo "The MINIO_ACCESS_KEY, and MINIO_SECRET_KEY environment variables must be defined."; exit -1 ; } 4 [ -z "$RMQ_ADMIN_PASSWORD" ] && { echo "The RMQ_ADMIN_PASSWORD, and RMQ_USER_PASSWORD environment variables must be defined."; exit -1 ; } 5 [ -z "$RMQ_USER_PASSWORD" ] && { echo "The RMQ_ADMIN_PASSWORD, and RMQ_USER_PASSWORD environment variables must be defined."; exit -1 ; } 6 7 [ -z "$LOCATION" ] && { echo "The Azure location LOCATION environment variables must be defined."; exit -1 ; } 8 9 mkdir -p installer/azure/minio 10 mkdir -p installer/azure/rabbitmq 11 wget -O installer/azure/minio/README.md https://raw.githubusercontent.com/leaf-ai/studio-go-runner/master/cloud/azure/minio/README.md 12 wget -O installer/azure/minio/user-data https://raw.githubusercontent.com/leaf-ai/studio-go-runner/master/cloud/azure/minio/user-data 13 wget -O installer/azure/rabbitmq/README.md https://raw.githubusercontent.com/leaf-ai/studio-go-runner/master/cloud/azure/rabbitmq/README.md 14 wget -O installer/azure/rabbitmq/user-data https://raw.githubusercontent.com/leaf-ai/studio-go-runner/master/cloud/azure/rabbitmq/user-data 15 echo "n" | ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519 16 export PUBLIC_KEY=`cat ~/.ssh/id_ed25519.pub` 17 storage_account=`echo -e "bootlogs$(uuidgen | md5sum - | cut -c1-8)"` 18 # 19 [ -z "$minio_resource_group" ] && minio_resource_group=minio 20 envsubst < installer/azure/minio/user-data > minio-user-data-$storage_account 21 az login --use-device-code 22 az group create --name $minio_resource_group --location $LOCATION -o none 23 az storage account create --resource-group $minio_resource_group --name $storage_account --sku standard_lrs -o none 24 az vm create --name minio --resource-group $minio_resource_group --location $LOCATION --data-disk-sizes-gb 10 --boot-diagnostics-storage $storage_account --authentication-type ssh --generate-ssh-keys --image Canonical:UbuntuServer:18.04-LTS:latest --public-ip-address "" --size Standard_D4s_v3 --custom-data minio-user-data-$storage_account -o none 25 export MINIO_ADDRESS=$(az network public-ip list --resource-group $minio_resource_group --query "[].ipAddress" --output tsv) 26 az vm open-port --port 9000 --resource-group $minio_resource_group --name minio -o none 27 az network nsg rule delete --resource-group $minio_resource_group --nsg-name minioNSG -n default-allow-ssh 28 # 29 [ -z "$rmq_resource_group" ] && rmq_resource_group=rabbitMQ 30 envsubst < installer/azure/rabbitmq/user-data > rabbitmq-user-data-$storage_account 31 az group create --name $rmq_resource_group --location $LOCATION 32 az storage account create --resource-group $rmq_resource_group --name $storage_account --sku standard_lrs 33 az vm create --name rabbitMQ --resource-group $rmq_resource_group --location eastus --os-disk-size-gb 128 --boot-diagnostics-storage $storage_account --authentication-type ssh --generate-ssh-keys --image Canonical:UbuntuServer:18.04-LTS:latest --public-ip-address "" --size Standard_D4s_v3 --custom-data rabbitmq-user-data-$storage_account -o none 34 export RMQ_ADDRESS=$(az network public-ip list --resource-group $rmq_resource_group --query "[].ipAddress" --output tsv) 35 az vm open-port --port 15672 --resource-group $rmq_resource_group --name rabbitMQ --priority 500 36 az vm open-port --port 5672 --resource-group $rmq_resource_group --name rabbitMQ --priority 501 37 az network nsg rule delete --resource-group $rmq_resource_group --nsg-name rabbitMQNSG -n default-allow-ssh 38 echo "RabbitMQ IP Address" $RMQ_ADDRESS "Minio server IP Address" $MINIO_ADDRESS