desktop-environment/terraform/scripts/terraform.sh
Jackson Delahunt 01fefe5f48 env
2019-03-18 15:02:56 +11:00

33 lines
1.4 KiB
Bash
Executable file

REPO_ROOT=$(dirname $(readlink -f $0))/../..
# Export desktop environment shell configuration
eval "$($REPO_ROOT/docker/scripts/environment.sh)"
# Authenticate with cloud service provider
$REPO_ROOT/credentials/authenticate.sh
# Capture command line arguments
TERRAFORM_ARGS=$@
# Execute the supplied terraform command
docker run \
--entrypoint ash \
--env GOOGLE_APPLICATION_CREDENTIALS=$DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY/credentials/google.json \
--env TF_CLI_ARGS_apply="-auto-approve -lock=false" \
--env TF_CLI_ARGS_destroy="-auto-approve -lock=false" \
--env TF_IN_AUTOMATION=true \
--env TF_INPUT=false \
--env TF_VAR_DESKTOP_ENVIRONMENT_CONTAINER_NAME=$DESKTOP_ENVIRONMENT_CONTAINER_NAME \
--env TF_VAR_DESKTOP_ENVIRONMENT_REGISTRY=$DESKTOP_ENVIRONMENT_REGISTRY \
--env TF_VAR_DESKTOP_ENVIRONMENT_CLOUDFLARE_DOMAIN=$DESKTOP_ENVIRONMENT_CLOUDFLARE_DOMAIN \
--env TF_VAR_DESKTOP_ENVIRONMENT_CLOUDFLARE_EMAIL=$DESKTOP_ENVIRONMENT_CLOUDFLARE_EMAIL \
--env TF_VAR_DESKTOP_ENVIRONMENT_CLOUDFLARE_TOKEN=$DESKTOP_ENVIRONMENT_CLOUDFLARE_TOKEN \
--env TF_VAR_owner_host=$HOSTNAME \
--env TF_VAR_owner_name=$USER \
--rm \
--tty \
--volume DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY:$DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY \
--workdir $DESKTOP_ENVIRONMENT_DOCKER_REPOSITORY/terraform \
hashicorp/terraform:light -c "\
terraform init;
terraform $TERRAFORM_ARGS"