Last active
April 4, 2020 14:14
-
-
Save rahulsahay19/aaa12f403c7ae48c93f7b12b5e6de30f to your computer and use it in GitHub Desktop.
remote-backend
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
RESOURCE_GROUP_NAME=tstate | |
STORAGE_ACCOUNT_NAME=tstate$RANDOM | |
CONTAINER_NAME=tstate | |
KEYVAULT_NAME=tRahulKeyVault | |
# Create resource group | |
echo "Creating $RESOURCE_GROUP_NAME resource group..." | |
az group create --name $RESOURCE_GROUP_NAME --location eastus | |
# Create storage account | |
echo "Creating $STORAGE_ACCOUNT_NAME storage account..." | |
az storage account create --resource-group $RESOURCE_GROUP_NAME --name $STORAGE_ACCOUNT_NAME --sku Standard_LRS --encryption-services blob | |
# Get storage account key | |
echo "Fetching storage account key..." | |
ACCOUNT_KEY=$(az storage account keys list --resource-group $RESOURCE_GROUP_NAME --account-name $STORAGE_ACCOUNT_NAME --query [0].value -o tsv) | |
# Create blob container | |
echo "Creating blob container..." | |
az storage container create --name $CONTAINER_NAME --account-name $STORAGE_ACCOUNT_NAME --account-key $ACCOUNT_KEY | |
# Create an Azure KeyVault | |
echo "Creating $KEYVAULT_NAME key vault..." | |
az keyvault create -g $RESOURCE_GROUP_NAME -l eastus --name $KEYVAULT_NAME | |
# Store the Terraform State Storage Key into KeyVault | |
echo "Store storage access key into key vault secret..." | |
az keyvault secret set --name tfstate-storage-key --value $ACCOUNT_KEY --vault-name $KEYVAULT_NAME | |
echo "storage_account_name: $STORAGE_ACCOUNT_NAME" | |
echo "container_name: $CONTAINER_NAME" | |
echo "access_key: $ACCOUNT_KEY" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment