hotfix: prevent STACK_NAME env crash in production deploy
This commit is contained in:
parent
25530c7c94
commit
988450919b
21
RELEASE_NOTES_v2.2.82.md
Normal file
21
RELEASE_NOTES_v2.2.82.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Release Notes v2.2.82
|
||||||
|
|
||||||
|
Dato: 2026-05-04
|
||||||
|
|
||||||
|
## Hotfix
|
||||||
|
|
||||||
|
- `updateto.sh` fjerner nu automatisk `STACK_NAME` fra `.env` inden startup.
|
||||||
|
- `updateto.sh` vaelger automatisk `STACK_NAME=v2` i `/srv/podman/bmc_hub_v2` (ellers `prod`).
|
||||||
|
|
||||||
|
## Hvorfor
|
||||||
|
|
||||||
|
Nogle prod-deployments crashede API ved startup med:
|
||||||
|
|
||||||
|
- `ValidationError: STACK_NAME Extra inputs are not permitted`
|
||||||
|
|
||||||
|
Aarsagen var, at `STACK_NAME` laa i `.env` og blev indlaest af FastAPI Settings.
|
||||||
|
|
||||||
|
## Berort fil
|
||||||
|
|
||||||
|
- `updateto.sh`
|
||||||
|
- `VERSION`
|
||||||
18
updateto.sh
18
updateto.sh
@ -17,9 +17,6 @@ if [ "${EUID:-$(id -u)}" -eq 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
PODMAN_COMPOSE_FILE="docker-compose.prod.yml"
|
PODMAN_COMPOSE_FILE="docker-compose.prod.yml"
|
||||||
STACK_NAME="${STACK_NAME:-prod}"
|
|
||||||
POSTGRES_CONTAINER="bmc-hub-postgres-${STACK_NAME}"
|
|
||||||
API_CONTAINER="bmc-hub-api-${STACK_NAME}"
|
|
||||||
|
|
||||||
if [ -z "$VERSION" ]; then
|
if [ -z "$VERSION" ]; then
|
||||||
echo "❌ Fejl: Ingen version angivet"
|
echo "❌ Fejl: Ingen version angivet"
|
||||||
@ -30,6 +27,10 @@ fi
|
|||||||
# SAFETY CHECK: Verify we're on production server
|
# SAFETY CHECK: Verify we're on production server
|
||||||
CURRENT_IP=$(hostname -I | awk '{print $1}' 2>/dev/null || echo "unknown")
|
CURRENT_IP=$(hostname -I | awk '{print $1}' 2>/dev/null || echo "unknown")
|
||||||
CURRENT_DIR=$(pwd)
|
CURRENT_DIR=$(pwd)
|
||||||
|
DEFAULT_STACK_NAME="prod"
|
||||||
|
if [ "$CURRENT_DIR" = "/srv/podman/bmc_hub_v2" ]; then
|
||||||
|
DEFAULT_STACK_NAME="v2"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$CURRENT_IP" != "172.16.31.183" ]] && [[ "$CURRENT_DIR" != "/srv/podman/bmc_hub_v2" ]]; then
|
if [[ "$CURRENT_IP" != "172.16.31.183" ]] && [[ "$CURRENT_DIR" != "/srv/podman/bmc_hub_v2" ]]; then
|
||||||
echo "⚠️ ADVARSEL: Dette script skal kun køres på PRODUCTION serveren!"
|
echo "⚠️ ADVARSEL: Dette script skal kun køres på PRODUCTION serveren!"
|
||||||
@ -60,11 +61,22 @@ if [ ! -f "$PODMAN_COMPOSE_FILE" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# STACK_NAME must NOT live in .env because FastAPI Settings rejects unknown keys.
|
||||||
|
# Keep stack selection as shell/env only.
|
||||||
|
if grep -q '^STACK_NAME=' .env; then
|
||||||
|
echo "⚠️ Fjerner STACK_NAME fra .env (forhindrer API crash i Settings loader)..."
|
||||||
|
sed -i.bak '/^STACK_NAME=/d' .env
|
||||||
|
fi
|
||||||
|
|
||||||
# Load environment variables (DB credentials)
|
# Load environment variables (DB credentials)
|
||||||
set -a
|
set -a
|
||||||
source .env
|
source .env
|
||||||
set +a
|
set +a
|
||||||
|
|
||||||
|
STACK_NAME="${STACK_NAME:-$DEFAULT_STACK_NAME}"
|
||||||
|
POSTGRES_CONTAINER="bmc-hub-postgres-${STACK_NAME}"
|
||||||
|
API_CONTAINER="bmc-hub-api-${STACK_NAME}"
|
||||||
|
|
||||||
if [ -z "${API_PORT:-}" ]; then
|
if [ -z "${API_PORT:-}" ]; then
|
||||||
if [ "$CURRENT_DIR" = "/srv/podman/bmc_hub_v2" ]; then
|
if [ "$CURRENT_DIR" = "/srv/podman/bmc_hub_v2" ]; then
|
||||||
API_PORT="8001"
|
API_PORT="8001"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user