diff --git a/RELEASE_NOTES_v2.2.82.md b/RELEASE_NOTES_v2.2.82.md new file mode 100644 index 0000000..5b6d008 --- /dev/null +++ b/RELEASE_NOTES_v2.2.82.md @@ -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` diff --git a/VERSION b/VERSION index 4a3f268..c08f469 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.81 +2.2.82 diff --git a/updateto.sh b/updateto.sh index 4637817..383f2d9 100755 --- a/updateto.sh +++ b/updateto.sh @@ -17,9 +17,6 @@ if [ "${EUID:-$(id -u)}" -eq 0 ]; then fi 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 echo "❌ Fejl: Ingen version angivet" @@ -30,6 +27,10 @@ fi # SAFETY CHECK: Verify we're on production server CURRENT_IP=$(hostname -I | awk '{print $1}' 2>/dev/null || echo "unknown") 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 echo "⚠️ ADVARSEL: Dette script skal kun køres på PRODUCTION serveren!" @@ -60,11 +61,22 @@ if [ ! -f "$PODMAN_COMPOSE_FILE" ]; then exit 1 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) set -a source .env 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 [ "$CURRENT_DIR" = "/srv/podman/bmc_hub_v2" ]; then API_PORT="8001"