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