Move to infisical. Create local dev environment. Add ci gates. Modernize repo
This commit is contained in:
+18
-40
@@ -1,49 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
ENV_FILE="$ROOT_DIR/.env"
|
||||
ROOT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
COMPOSE_FILE="$ROOT_DIR/docker/compose.yml"
|
||||
ENVIRONMENT="${1:-staging}"
|
||||
if [[ "$ENVIRONMENT" == dev || "$ENVIRONMENT" == staging ]]; then shift || true; else ENVIRONMENT=staging; fi
|
||||
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Error: env file not found at $ENV_FILE" >&2
|
||||
exit 1
|
||||
ENV_FILE="${CI_ENV_FILE:-}"
|
||||
cleanup() { [[ -n "$ENV_FILE" && "$ENV_FILE" != "${CI_ENV_FILE:-}" ]] && rm -f "$ENV_FILE" || true; }
|
||||
trap cleanup EXIT
|
||||
if [[ -z "$ENV_FILE" && -z "${CI:-}" ]]; then
|
||||
ENV_FILE="$(mktemp "${TMPDIR:-/tmp}/convex-monorepo-compose.XXXXXX.env")"
|
||||
sh "$ROOT_DIR/scripts/export-env" "$ENVIRONMENT" > "$ENV_FILE"
|
||||
fi
|
||||
|
||||
if [ ! -f "$COMPOSE_FILE" ]; then
|
||||
echo "Error: compose file not found at $COMPOSE_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -a
|
||||
source "$ENV_FILE"
|
||||
set +a
|
||||
|
||||
translated_args=()
|
||||
|
||||
args=()
|
||||
[[ -z "$ENV_FILE" ]] || args+=(--env-file "$ENV_FILE")
|
||||
translated=()
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
backend)
|
||||
: "${BACKEND_CONTAINER_NAME:?BACKEND_CONTAINER_NAME is not set in .env}"
|
||||
translated_args+=("$BACKEND_CONTAINER_NAME")
|
||||
;;
|
||||
dashboard)
|
||||
: "${DASHBOARD_CONTAINER_NAME:?DASHBOARD_CONTAINER_NAME is not set in .env}"
|
||||
translated_args+=("$DASHBOARD_CONTAINER_NAME")
|
||||
;;
|
||||
next)
|
||||
: "${NEXT_CONTAINER_NAME:?NEXT_CONTAINER_NAME is not set in .env}"
|
||||
translated_args+=("$NEXT_CONTAINER_NAME")
|
||||
;;
|
||||
*)
|
||||
translated_args+=("$arg")
|
||||
;;
|
||||
esac
|
||||
case "$arg" in backend) translated+=(convexmonorepo-backend) ;; dashboard) translated+=(convexmonorepo-dashboard) ;; next) translated+=(convexmonorepo-next) ;; *) translated+=("$arg") ;; esac
|
||||
done
|
||||
|
||||
exec docker compose \
|
||||
--env-file "$ENV_FILE" \
|
||||
-f "$COMPOSE_FILE" \
|
||||
"${translated_args[@]}"
|
||||
set +e
|
||||
docker compose "${args[@]}" -f "$COMPOSE_FILE" "${translated[@]}"
|
||||
status=$?
|
||||
set -e
|
||||
exit "$status"
|
||||
|
||||
Reference in New Issue
Block a user