aboutsummaryrefslogtreecommitdiff
path: root/scripts/ci/provision.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ci/provision.sh')
-rwxr-xr-xscripts/ci/provision.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/ci/provision.sh b/scripts/ci/provision.sh
new file mode 100755
index 0000000..9572ea7
--- /dev/null
+++ b/scripts/ci/provision.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash
+# shellcheck shell=bash
+set -Eeuo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+cd ../../
+
+echo "Shutting down running containers and backing up data..."
+ssh "$TLD" "cd /home/vps/ && docker-compose down"
+scp ./secrets/borg_remote.pub "$TLD":/root/.ssh/id_rsa.pub
+scp ./secrets/borg_remote "$TLD":/root/.ssh/id_rsa
+VPS_COMMIT_SHA="$(git rev-parse HEAD)" envsubst < ./scripts/box/run-backup-template.sh | ssh "$TLD" 'cat > /home/vps/run-backup.sh && chmod +x /home/vps/run-backup.sh'
+ssh "$TLD" /home/vps/run-backup.sh
+echo "Done."
+
+echo "Running 'terraform apply'..."
+terraform --version
+terraform init
+terraform apply
+echo "Done."
+
+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."
+
+echo "Locking git-crypt repositories back..."
+git crypt lock
+pushd ../vps-state/
+git crypt lock
+popd
+echo "Done."