mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-27 06:35:36 +00:00
55 lines
1.5 KiB
Bash
55 lines
1.5 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
export AWS_PROFILE="gs"
|
||
|
|
||
|
BUCKET_NAME_PART_1="t2"
|
||
|
BUCKET_NAME_PART_2="global"
|
||
|
BUCKET_NAME_PART_3="terraformstate"
|
||
|
|
||
|
WORKFLOW_FILE=".github/workflows/terraform.yml"
|
||
|
|
||
|
if [ ! -f $WORKFLOW_FILE ]; then
|
||
|
WORKFLOW_FILE=".github/workflows/apply.yml"
|
||
|
fi
|
||
|
|
||
|
AWS_ACCOUNT_NUMBER=$(
|
||
|
awk '/aws_account_number: .*/ {print $2}' $WORKFLOW_FILE | # Grab account number
|
||
|
echo "$(
|
||
|
read -r s
|
||
|
s=${s//\'/}
|
||
|
echo "$s"
|
||
|
)" # Remove single quote if it exists
|
||
|
)
|
||
|
|
||
|
if [ -z "${AWS_ACCOUNT_NUMBER}" ]; then
|
||
|
AWS_ACCOUNT_NUMBER=$(
|
||
|
awk '/AWS_ACCOUNT_NUMBER: .*/ {print $2}' $WORKFLOW_FILE | # Grab account number
|
||
|
echo "$(
|
||
|
read -r s
|
||
|
s=${s//\'/}
|
||
|
echo "$s"
|
||
|
)" # Remove single quote if it exists
|
||
|
)
|
||
|
fi
|
||
|
|
||
|
REPOSITORY=$(
|
||
|
git remote get-url origin |
|
||
|
awk -F'/' -v OFS='/' '{print $(NF-1),$NF }' |
|
||
|
echo "$(
|
||
|
read -r s
|
||
|
s=${s%.git}
|
||
|
echo "$s"
|
||
|
)" # Remove .git suffix if it exists
|
||
|
)
|
||
|
BRANCH=$(git branch --show-current)
|
||
|
|
||
|
terraform init \
|
||
|
-backend-config="region=us-east-1" \
|
||
|
-backend-config="bucket=${BUCKET_NAME_PART_1}${BUCKET_NAME_PART_2}${BUCKET_NAME_PART_3}" \
|
||
|
-backend-config="workspace_key_prefix=accounts/${AWS_ACCOUNT_NUMBER}/${REPOSITORY}" \
|
||
|
-backend-config="key=state.tfstate" \
|
||
|
-backend-config="dynamodb_table=global-tf-state-lock" \
|
||
|
-upgrade
|
||
|
|
||
|
terraform workspace select "$BRANCH"
|