Tweede entry point voor de server-backup feature die in ab87c0f + 20de584
is opgezet. Geeft de bestaande server_backup_full en server_backup_restore_test
flows een eigen plek in de /flows/-index, naast redeploy-all / update-caddy /
update-scrum4me-web.
Eén panel met twee knoppen ('Backup now' / 'Run restore test'); de
description- en step-lijst wisselen mee met de actief gekozen flow. Bevestig-
dialog en confirm-body hergebruiken de wording uit
app/settings/backups/_components/server-backup-section.tsx zodat beide
ingangen consistent blijven. SSE-stream via dezelfde useFlowRun hook;
audit-link na afloop net als redeploy-all.
De settings/backups-page (status + config) raakt niet aangepast — bewust
behouden als tweede ingang voor wie al op die pagina is.
Files:
- app/flows/server-backup/page.tsx (new, breadcrumb + panel)
- app/flows/server-backup/_components/flow-panel.tsx (new, dual-action UI)
- app/flows/page.tsx (+1 entry in FLOWS array)
Server-side commands.yml en /etc/ops-agent/flows/*.yml moeten nog
gedeployed worden — zonder die geeft ops-agent 'flow_key not found' terug.
Deployment-script komt los.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Legt de volledige stack-redeploy vast als één flow: scrum4me-web
(pull/migrate/build/restart) gevolgd door de MCP-worker.
Onderweg een echte bug gevonden en gefixt: update_mcp_worker.yml deed
`docker_compose_build worker-idea` zónder cache-bust. De worker-idea
Dockerfile clonet scrum4me-mcp van GitHub in een aparte laag; zolang
MCP_GIT_REF gelijk blijft ('main') hergebruikt Docker die laag, dus
nieuwe MCP-commits werden NIET opgepikt. Een schijnbaar geslaagde
rebuild draaide stilletjes op oude MCP-code.
Wijzigingen:
- commands.yml.example: nieuw command docker_compose_build_worker_fresh
dat via `sh -c` MCP_CACHE_BUST=$(date +%s) meegeeft — invalideert de
clone-laag zodat de laatste MCP-code wordt gepulld
- update_mcp_worker.yml: gebruikt nu de fresh-build; pullt ook
scrum4me-mcp lokaal (on_failure: continue, sync-only)
- redeploy_all.yml: nieuwe gecombineerde flow (16 stappen, web → worker)
- app/flows/redeploy-all/: UI-pagina + panel, zelfde patroon als de
bestaande flow-pagina's
- app/flows/page.tsx: Redeploy All bovenaan de flows-lijst
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Beide routes hadden alleen sub-pages; /flows en /settings zelf gaven
404. Minimale index met kaartjes naar de bestaande sub-routes,
consistent met het home-dashboard. Onderdeel van IDEA-060 voor een
rijkere indexering later.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Update ops-agent/flows.example/update_scrum4me_web.yml with full
deployment steps: git_status, git_fetch, git_log_ahead, git_pull,
npm_ci, prisma_migrate_deploy, npm_run_build, systemctl_restart,
and smoke test against thuis.jp-visser.nl/api/products
- Add npm_ci, prisma_migrate_deploy, npm_run_build, and
curl_smoke_scrum4me_thuis to commands.yml.example
- Add /flows/update-scrum4me-web UI page with Run and Dry Run buttons,
streaming terminal output, and link to audit log on completion
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>