diff --git a/docs/devops/single_azure_vm/prompt.md b/docs/devops/single_azure_vm/prompt.md index 1a3ddaa3..cf51ffb1 100644 --- a/docs/devops/single_azure_vm/prompt.md +++ b/docs/devops/single_azure_vm/prompt.md @@ -10,7 +10,7 @@ This folder contains three files you must work with: -- **`setup.sh`** — 8-phase bash script (~940 lines) that bootstraps the entire ByteLyst ecosystem on a blank Ubuntu VM +- **`setup.sh`** — 8-phase bash script (~990 lines) that bootstraps the entire ByteLyst ecosystem on a blank Ubuntu VM - **`README.md`** — Deployment guide documenting what the script does, ports, troubleshooting - **`prompt.md`** — This file (agent instructions) @@ -86,6 +86,20 @@ The following issues have already been identified and fixed in the current `setu | `last_completed_phase` didn't enforce sequential order | Stops at first gap | `a3f4c6fa` | | Phase 7 missing `.env.ecosystem` guard | Fail early with helpful message | `a3f4c6fa` | | `ollama pull \| tail` aborted entire setup on slow network | Made non-fatal | `b634708d` | +| NodeSource `curl\|bash` deprecated install method | Modern GPG key + apt source method | `c2ca7f53` | +| Missing `build-essential python3` for native addons | Added to apt deps | `c2ca7f53` | +| `pnpm -r build` fails on workspace members without build script | Added `--if-present` flag | `c2ca7f53` | +| `gpg --dearmor` prompts on re-run if keyring exists | Added `--batch --yes` | `1a1f7dd5` | +| `jq` aborts script on malformed Gitea token response | Added `2>/dev/null \|\| echo ""` guard | `1a1f7dd5` | +| `pnpm install`/`build` failures show no useful message | Wrapped in `if ! ...; then fail("...")` | `1a1f7dd5` | +| Docker builds OOM with Ollama + Cosmos (~7 GB combined) | Stop Ollama during Phase 7, restart after | `1a1f7dd5` | +| Pre-flight: script runs on tiny VMs with no warning | Added disk (≥40 GB) and RAM (≥16 GB) checks | `1a1f7dd5` | +| Azurite + Loki missing from Phase 8 health checks | Added both to check-health.sh | `f78d382d` | +| GITEA_NPM_TOKEN silently empty on resume | Added `require_gitea_token()` guard in Phase 4 + 7 | `e928ec60` | +| Dashboard Dockerfiles `--frozen-lockfile` fails (incomplete workspace) | Removed from admin-web + tracker-web | `e928ec60` | +| Docker build cache exhausts disk (~20-40 GB) | Added `docker builder prune` after Phase 7 | `e928ec60` | +| Compose `NEXT_PUBLIC_*` env vars wrong for 8/9 web services | Fixed per-service to match product code | `01f2276a` | +| MindLyst web 3 files fallback to production URLs | Changed to `http://localhost:4003` | `09bdda8` | --- @@ -156,7 +170,7 @@ Add a section to `README.md` (or a separate `test-plan.md`) that describes how t ``` 1. SSH into VM 2. Run: /opt/bytelyst/check-health.sh - Expected: All 27+ checks green + Expected: All 30+ checks green 3. Run: curl http://localhost:4003/health Expected: {"status":"ok","service":"platform-service",...} 4. Run: curl http://localhost:4003/api/auth/register -X POST -H 'Content-Type: application/json' -d '{"email":"test@test.com","password":"Test1234!","displayName":"Test"}' @@ -178,7 +192,7 @@ Add a section to `README.md` (or a separate `test-plan.md`) that describes how t ## Constraints - **DO NOT** change any files outside `docs/devops/single_azure_vm/` without asking -- **DO NOT** modify `docker-compose.ecosystem.yml` or any Dockerfile — the script must work with the repos as-is (it patches Dockerfiles after cloning) +- **DO NOT** modify `docker-compose.ecosystem.yml` or any Dockerfile without verifying the change is correct across all affected services - **DO NOT** hardcode secrets or API keys (Cosmos emulator and Azurite keys are well-known public keys, those are OK) - **DO NOT** add emojis to code - **DO NOT** use `console.log` or `print` — use the existing `log()`, `ok()`, `warn()`, `fail()` helpers @@ -241,7 +255,7 @@ Raw Ubuntu 24.04 VM │ ├── actiontrail-backend (:4018) │ └── localmemgpt-backend (:4019) ── connects to Ollama └── Product Web Apps (Next.js 16) - ├── lysnrai-web (:3002) + ├── lysnrai-dashboard (:3002) ├── chronomind-web (:3030) ├── jarvisjr-web (:3035) ├── flowmonk-web (:3040)