aboutsummaryrefslogtreecommitdiff
path: root/provision.sh
diff options
context:
space:
mode:
Diffstat (limited to 'provision.sh')
-rw-r--r--provision.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/provision.sh b/provision.sh
new file mode 100644
index 0000000..b13be57
--- /dev/null
+++ b/provision.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+cd "${BASH_SOURCE%/*}/"
+
+echo "Unlocking git-crypt repositories and loading secrets..."
+git crypt unlock
+pushd ../vps-state/
+git crypt unlock
+popd
+source .envrc
+echo "Done.\n"
+
+alias ssh="ssh -i secrets/id_rsa root@$TLD"
+
+echo "Shutting down running containers..."
+ssh "cd /home/vps/ && docker-compose down"
+echo "Done.\n"
+
+echo "Running `terraform apply`..."
+terraform apply
+echo "Done.\n"
+
+echo "Storing .tfstate file"
+pushd ../vps-state/
+git add secrets/terraform.tfstate secrets/terraform.tfstate.backup
+git commit -m "CI: update Terraform .tfstate files"
+git push origin master
+popd
+echo "Done.\n"
+
+echo "Locking git-crypt repositories back..."
+git crypt lock
+pushd ../vps-state/
+git crypt lock
+popd
+echo "Done.\n"