63 lines
2.0 KiB
Bash
Executable File
63 lines
2.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# Variables assigned here are exported for Docker Compose and child containers.
|
|
# The literal backticks belong to Traefik's rule syntax.
|
|
# shellcheck disable=SC2034,SC2016
|
|
|
|
scale_load_environment() {
|
|
SCALE_ROOT=$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd)
|
|
SCALE_ENV_FILE=${WNH_SCALE_ENV_FILE:-"$SCALE_ROOT/output/runtime/scale.env"}
|
|
|
|
WNH_LOAD_ENV_FILE=$SCALE_ENV_FILE "$SCALE_ROOT/scripts/ensure-local-load-env.sh"
|
|
|
|
set -a
|
|
# shellcheck source=/dev/null
|
|
. "$SCALE_ENV_FILE"
|
|
|
|
LOAD_PROJECT=who_need_help_scale
|
|
COMPOSE_PROJECT_NAME=$LOAD_PROJECT
|
|
LOAD_HOST=scale.localhost
|
|
HTTP_BIND_ADDRESS=127.0.0.1
|
|
HTTP_PORT=${WNH_SCALE_HTTP_PORT:-4120}
|
|
SCALE_HTTPS_BIND_ADDRESS=127.0.0.1
|
|
SCALE_HTTPS_PORT=${WNH_SCALE_HTTPS_PORT:-4121}
|
|
MAILPIT_BIND_ADDRESS=127.0.0.1
|
|
MAILPIT_PORT=${WNH_SCALE_MAILPIT_PORT:-8129}
|
|
PHX_HOST=$LOAD_HOST
|
|
PHX_SCHEME=https
|
|
PHX_URL_PORT=$SCALE_HTTPS_PORT
|
|
POSTGRES_DB=who_need_help_scale
|
|
POSTGRES_USER=wnh_scale
|
|
DATABASE_URL="ecto://$POSTGRES_USER:$POSTGRES_PASSWORD@db/$POSTGRES_DB"
|
|
APP_IMAGE=who-need-help:scale
|
|
SOCKET_PROXY_IMAGE=who-need-help:socket-proxy-scale
|
|
POSTGIS_IMAGE=who-need-help:postgis-scale
|
|
TRAEFIK_PROJECT_CONSTRAINT=$LOAD_PROJECT
|
|
TRAEFIK_APP_NAME=who-need-help-scale
|
|
TRAEFIK_DOCKER_NETWORK="${LOAD_PROJECT}_ingress"
|
|
TRAEFIK_ROUTER_RULE='Host(`scale.localhost`)'
|
|
WEB_REPLICAS=1
|
|
WORKER_REPLICAS=1
|
|
LOAD_WEB_REPLICAS=1
|
|
LOAD_WORKER_REPLICAS=1
|
|
CPU_REPLAY_CPUSET=${WNH_SCALE_CPUSET:-0}
|
|
CPU_REPLAY_WEB_CPUS=1
|
|
CPU_REPLAY_WORKER_CPUS=1
|
|
CPU_REPLAY_WEB_SCHEDULERS=1
|
|
CPU_REPLAY_WORKER_SCHEDULERS=1
|
|
SCALE_VIEWER_PASSWORD=${SCALE_VIEWER_PASSWORD:-$LOAD_FIXTURE_PASSWORD}
|
|
WNH_SCALE_EXPECTED_DATABASE=$POSTGRES_DB
|
|
WNH_SCALE_FIXTURE_CONFIRM=persistent-local-scale
|
|
set +a
|
|
}
|
|
|
|
scale_compose() {
|
|
docker compose \
|
|
--env-file "$SCALE_ENV_FILE" \
|
|
-p "$LOAD_PROJECT" \
|
|
-f "$SCALE_ROOT/compose.yaml" \
|
|
-f "$SCALE_ROOT/compose.load.yaml" \
|
|
-f "$SCALE_ROOT/compose.scale.yaml" \
|
|
-f "$SCALE_ROOT/compose.cpu-replay.yaml" \
|
|
"$@"
|
|
}
|