Accommodation Env Cutover Rehearsal
Purpose
This document records the first env-only accommodation gateway cutover rehearsal.
Canonical accommodation runtime target:
http://localhost:4022
Isolated rehearsal gateway:
http://localhost:4002
This used an isolated API instance so the existing 4001 stack did not need to be interrupted.
Env settings used
Fallback mode:
PORT=4002- no
ACCOMMODATIONS_SERVICE_URLoverride services/api/.envcontinued to point accommodation traffic athttp://localhost:4020
Cutover mode:
PORT=4002ACCOMMODATIONS_SERVICE_URL=http://localhost:4022
Rollback mode:
PORT=4002- removed the
ACCOMMODATIONS_SERVICE_URLoverride again
Cutover steps
- start old
svc-tendersaccommodation host on4020if not already running - start new
svc-accommodationshost on4022 - start isolated API on
4002in fallback mode - verify fallback gateway responses against old host
- restart isolated API on
4002withACCOMMODATIONS_SERVICE_URL=http://localhost:4022 - verify cutover gateway responses against new host
Rollback steps
- stop the cutover-mode API process on
4002 - restart API on
4002without theACCOMMODATIONS_SERVICE_URLoverride - verify gateway responses match old
svc-tendersaccommodation host again
Observations
Fallback rehearsal:
- gateway matched old host for checked public, authenticated, and denial-path routes
Cutover rehearsal:
- gateway matched new
svc-accommodationshost for the same checked route set
Rollback rehearsal:
- after removing the override, gateway matched old host again
Auth observations:
- auth-protected owner and booking-read routes behaved the same through fallback and cutover
- missing-token mutation denial stayed unchanged
Quote observation:
- quote payloads matched except for request-time
computedAttimestamp differences
Remaining risks
- compatibility residue still exists in old-host-only accommodation compatibility reads, even though it did not surface in the checked route set
- no authenticated happy-path write mutation was exercised through the gateway in this sprint
- live cutover should still treat migration ownership and compatibility residue as open truths, not solved problems