# Copying is handled by scripts/ensure-local-load-env.sh, which replaces every # GENERATE_* marker with an independent local secret and restricts the result # to mode 600. This profile owns a separate Compose project and PostgreSQL # volume; it must never use the staging project name. LOAD_PROJECT=who_need_help_load LOAD_HOST=load.local HTTP_PORT=4110 MAILPIT_PORT=8127 DOCKER_SOCKET_GID=REPLACE_WITH_DOCKER_SOCKET_NUMERIC_GID PHX_HOST=load.local PHX_SCHEME=https PHX_URL_PORT=443 TRAEFIK_TRUSTED_IPS=127.0.0.1/32 TRAEFIK_RETRY_ATTEMPTS=3 TRAEFIK_PROJECT_CONSTRAINT=who_need_help_load TRAEFIK_APP_NAME=who-need-help-load TRAEFIK_DOCKER_NETWORK=who_need_help_load_ingress TRAEFIK_ROUTER_RULE='Host(`load.local`)' POSTGRES_DB=who_need_help_load POSTGRES_USER=wnh_load POSTGRES_PASSWORD=GENERATE_POSTGRES_PASSWORD DATABASE_URL=GENERATE_DATABASE_URL WEB_POOL_SIZE=4 WORKER_POOL_SIZE=2 MIGRATE_POOL_SIZE=2 OBAN_MAINTENANCE_CONCURRENCY=2 OBAN_PUSH_CONCURRENCY=1 WEB_REPLICAS=2 WORKER_REPLICAS=2 ERLANG_PORT_LIMIT=65536 SECRET_KEY_BASE=GENERATE_SECRET_KEY_BASE HANDOVER_SECRET=GENERATE_HANDOVER_SECRET RELEASE_COOKIE=GENERATE_RELEASE_COOKIE METRICS_TOKEN=GENERATE_METRICS_TOKEN SMTP_RELAY=mailpit SMTP_PORT=1025 SMTP_USERNAME= SMTP_PASSWORD= SMTP_AUTH=never SMTP_TLS=never SMTP_SSL=false EMAIL_FROM_NAME="Who Need Help load profile" EMAIL_FROM_ADDRESS=load-profile@example.invalid CODEX_SESSION_ID=load-profile RATE_LIMIT_POLICIES_JSON={} MAP_TILE_URL=https://tile.openstreetmap.org/{z}/{x}/{y}.png GITHUB_OAUTH_CLIENT_ID= GITHUB_OAUTH_CLIENT_SECRET= GITHUB_OAUTH_BASE_URL= GITHUB_OAUTH_AUTHORIZE_URL= GITHUB_OAUTH_TOKEN_URL= GITHUB_OAUTH_USER_URL= GITHUB_OAUTH_HTTP_CONNECT_TIMEOUT_MS= GITHUB_OAUTH_HTTP_RECEIVE_TIMEOUT_MS= GOOGLE_OAUTH_CLIENT_ID= GOOGLE_OAUTH_CLIENT_SECRET= GOOGLE_OAUTH_BASE_URL= GOOGLE_OAUTH_HTTP_CONNECT_TIMEOUT_MS= GOOGLE_OAUTH_HTTP_RECEIVE_TIMEOUT_MS= # These are reproducible experiment inputs, not capacity requirements, # production traffic forecasts, alert thresholds, or recommended limits. LOAD_WEB_REPLICAS=2 LOAD_WORKER_REPLICAS=2 LOAD_HTTP_VUS=40 LOAD_WS_VUS=40 LOAD_DURATION=30s LOAD_WS_HOLD_MS=5000 LOAD_WS_CONNECT_TIMEOUT_MS=3000 LOAD_HTTP_THINK_SECONDS=0.1 LOAD_AUTH_VUS=8 LOAD_AUTH_WS_TIMEOUT_MS=5000 LOAD_AUTH_THINK_SECONDS=0.1 LOAD_FIXTURE_PASSWORD=GENERATE_LOAD_FIXTURE_PASSWORD LOAD_RESILIENCE_RECOVERY_TIMEOUT_SECONDS=120 LOAD_RESILIENCE_PROBE_INTERVAL_SECONDS=0.05 LOAD_RESILIENCE_REQUEST_TIMEOUT_SECONDS=2 OBSERVABILITY_PROMETHEUS_PORT=0 OBSERVABILITY_ALERTMANAGER_PORT=0 OBSERVABILITY_GRAFANA_PORT=0 OBSERVABILITY_SCRAPE_INTERVAL=1s OBSERVABILITY_EVALUATION_INTERVAL=1s OBSERVABILITY_TIMEOUT_SECONDS=90 OBSERVABILITY_GRAFANA_ADMIN_USER=local-admin OBSERVABILITY_GRAFANA_ADMIN_PASSWORD=GENERATE_OBSERVABILITY_GRAFANA_ADMIN_PASSWORD # The encrypted backup drill keeps its MinIO API and console on dynamically # allocated loopback ports. Secrets are generated only in ignored .env.load. BACKUP_MINIO_API_PORT=0 BACKUP_MINIO_CONSOLE_PORT=0 BACKUP_MINIO_ROOT_USER=GENERATE_BACKUP_MINIO_ROOT_USER BACKUP_MINIO_ROOT_PASSWORD=GENERATE_BACKUP_MINIO_ROOT_PASSWORD BACKUP_RESTIC_PASSWORD=GENERATE_BACKUP_RESTIC_PASSWORD BACKUP_BUCKET_PREFIX=wnh-backup BACKUP_TIMEOUT_SECONDS=120 BACKUP_INTERRUPTION_CHUNKS=300 BACKUP_INTERRUPTION_CHUNK_BYTES=1048576 BACKUP_INTERRUPTION_INTERVAL_SECONDS=0.1