Deployment setup - the parts the workflow deliberately left out

Host setup checklist, real domains and ports, the database backup
script the deploy workflow only ever invokes, and a rollback plan.
Also drafted the FTPS switch procedure for whenever production moves
off the Pi, with a note that shared hosting is likely IIS-based -
that's a bigger change than swapping the transport.
This commit is contained in:
2026-07-28 19:07:26 +02:00
parent 9ab30fe2a6
commit cf80f827ae
6 changed files with 550 additions and 0 deletions
@@ -1212,3 +1212,48 @@ by Infrastructure Design. U5 carries REF-U3-01's Umami origin gate plus FR-21 an
**Operations Phase Decision**: Yes (Decided At: Requirements Analysis)
---
## Build and Test — Local Debug Crash Reported and Fixed
**Timestamp**: 2026-07-28T03:10:00Z
**User Input**: "Als ik de Master api start krijg ik de volgende error: K:/Development/Projects/SlpModularCms/src/SlpModularCms.Api/bin/Debug/net10.0/SlpModularCms.Api.exe Unhandled exception. System.IO.DirectoryNotFoundException: K:\Development\Projects\SlpModularCms\src\SlpModularCms.Api\wwwroot\ [full stack trace through WebApplication.CreateBuilder] ... Bij het starten van de slave krijg ik dat niet. Dit is lokaal"
**AI Response**: "Root cause identified: not a defect in the feature's code, but a leftover of my own Build and Test verification — dotnet publish had created wwwroot/ (triggering ASP.NET Core's static web assets manifest to reference it), then my cleanup deleted the directory without a clean rebuild, leaving a stale Debug-config static-web-assets manifest pointing at a now-missing path. Fixed by fully cleaning and rebuilding SlpModularCms.Api's Debug obj/bin (dotnet clean + manual rm -rf + dotnet build). Confirmed the Master host starts cleanly again (/health -> 200). Nothing was tracked in git (gitignored build output), so no commit was needed."
**Context**: Build and Test — post-completion issue found by the user, diagnosed and fixed before proceeding
---
## Build and Test (Confirmed) — Proceeding to Deployment Setup
**Timestamp**: 2026-07-28T03:15:00Z
**User Input**: "Werkt weer, ga verder"
**AI Response**: "Confirmed fixed. Proceeding to the Operations phase, starting with Deployment Setup."
**Context**: Build and Test stage fully closed; entering OPERATIONS phase
---
## Deployment Setup (Planning)
**Timestamp**: 2026-07-28T03:20:00Z
**User Input**: "(implicit — entering Operations phase)"
**AI Response**: "Created deployment-setup-plan.md with 6 questions. Q1/Q2 (inclusion + method) are confirmations of what was already built in Construction, not new decisions. Q3-Q6 are the genuinely open host-specific facts that infrastructure-design.md deliberately deferred to this stage: real domains, whether to draft the DB backup script, FTPS documentation depth, and the one-time host-setup checklist scope."
**Context**: OPERATIONS — Deployment Setup, Step 2-4 (question generation), awaiting user answers
---
## Deployment Setup (Complete)
**Timestamp**: 2026-07-28T03:30:00Z
**User Input**: "Ik heb de vragen ingevuld, ga verder" (Q1=A, Q2=A, Q3=A with production=slpsoftware.nl/test=test.slpsoftware.nl, Q4=A, Q5=B, Q6=A)
**AI Response**: "Generated deployment-plan.md, deployment-instructions.md (one-time host setup: enable-linger, directory skeleton, shared/env runtime config file, systemd --user units for both environments on ports 5100/5101, nginx routing snippet, Gitea variables/secrets table, database backup script drafted and documented, full FTPS future-switch procedure with an explicit caveat that shared hosting is likely IIS-based and several mechanisms don't carry over unchanged), and rollback-plan.md (fast symlink-repoint rollback, rebuild-and-redeploy for older commits, database restore, explicit list of what a rollback never touches)."
**Context**: OPERATIONS — Deployment Setup complete, presenting completion message
---