61 lines
2.1 KiB
Bash
Executable File
61 lines
2.1 KiB
Bash
Executable File
# Check for and exit on errors
|
|
set -e
|
|
# Script to implement some functions to standardize the workflow for TerraformA In CI/CD Pipelines
|
|
#
|
|
#
|
|
|
|
## Global Variables ##
|
|
PS4='LINENO:' # Set line numbers on error output to ease debugging
|
|
|
|
|
|
if [ -z $TF_BACKEND_BUCKET ]; then
|
|
die 127 "No TF_BACKEND_BUCKET variable specified or empty variable"
|
|
fi
|
|
|
|
if [ -z $TF_BACKEND_DYNDB_TABLE ]; then
|
|
die 127 "No TF_BACKEND_DYNDB_TABLE variable specified or empty variable"
|
|
fi
|
|
|
|
if [ -z $TF_BACKEND_REGION ]; then
|
|
die 127 "No TF_BACKEND_REGION variable specified or empty variable"
|
|
fi
|
|
|
|
if [ -z $TF_BACKEND_KEY ]; then
|
|
die 127 "No TF_BACKEND_KEY variable specified or empty variable"
|
|
fi
|
|
|
|
if [ -z $TF_VAR_api_key ]; then
|
|
die 127 "No TF_VAR_api_key variable specified or empty variable"
|
|
fi
|
|
|
|
if [ -z $TF_VAR_app_key ]; then
|
|
die 127 "No TF_VAR_app_key variable specified or empty variable"
|
|
fi
|
|
|
|
echo "Planning for deployment of API and APP keys"
|
|
terraform init -backend-config="encrypt=true" \
|
|
-backend-config="bucket=$TF_BACKEND_BUCKET" \
|
|
-backend-config="dynamodb_table=$TF_BACKEND_DYNDB_TABLE" \
|
|
-backend-config="region=$TF_BACKEND_REGION" \
|
|
-backend-config="key=$TF_BACKEND_KEY" \
|
|
-input=false 2>&1 | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" # ; test ${PIPESTATUS[0]} -eq 0
|
|
|
|
terraform validate 2>&1 | \
|
|
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" ; #\
|
|
#test ${PIPESTATUS[0]} -eq 0
|
|
|
|
terraform plan -out=tfplan -input=false -detailed-exitcode \
|
|
-var-file=terraform.tfvars 2>&1 | \
|
|
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" ; #\
|
|
#test ${PIPESTATUS[0]} -ne 1
|
|
|
|
#terraform plan -out=tfplan -input=false -detailed-exitcode \
|
|
# -var-file=terraform.tfvars \
|
|
# -var="datadog_api_key=${TF_VAR_datadog_api_key}" \
|
|
# -var="datadog_app_key=${TF_VAR_datadog_api_key}" 2>&1 | \
|
|
# sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" ; #\
|
|
# #test ${PIPESTATUS[0]} -ne 1
|
|
ls -la
|
|
|
|
|