#!/usr/bin/env bash # Pulls a project's env from keep, then brings its docker compose stack up. # # Usage: # ./deploy.sh [env] # # Expects, per project, a directory at $DEPLOY_ROOT// containing # a docker-compose.yml. Vault key pulled is "/" (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 [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)