Files
keep/scripts/deploy.sh

26 lines
741 B
Bash
Raw Normal View History

#!/usr/bin/env bash
# Pulls a project's env from keep, then brings its docker compose stack up.
#
# Usage:
# ./deploy.sh <project> [env]
#
# Expects, per project, a directory at $DEPLOY_ROOT/<project>/ containing
# a docker-compose.yml. Vault key pulled is "<project>/<env>" (env
# defaults to "production"). Requires a keep identity already registered
# and granted read access to that vault on this machine
# (see INTEGRATION.md).
set -euo pipefail
project="${1:?usage: deploy.sh <project> [env]}"
env="${2:-production}"
root="${DEPLOY_ROOT:-/opt/docker}"
dir="$root/$project"
if [ ! -d "$dir" ]; then
echo "error: $dir does not exist" >&2
exit 1
fi
keep pull "$project/$env" --out "$dir/.env"
(cd "$dir" && docker compose up -d)