26 lines
741 B
Bash
26 lines
741 B
Bash
|
|
#!/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)
|