Commit web/assets/maps/ WebPs so deploys are self-contained

121 MB across 66 dungeon-floor WebPs (~150 KB–6 MB each). Previously
gitignored on the assumption LFS would be needed; plain git handles this
fine and it removes the kg_fetch → kg_stitch dependency from the deploy
path. README and Ansible bring-up step updated.
This commit is contained in:
2026-04-26 12:54:38 +02:00
parent c2ae7a7218
commit 738605b6c0
68 changed files with 7 additions and 8 deletions
+6 -5
View File
@@ -14,7 +14,8 @@ courtesy of RaiderIO (verbal permission, see attribution below).
comments, gateways), NPC names from companion `en_US.js`.
- **Frontend:** vanilla HTML/CSS/JS, single page, no build step. Pan/zoom
via CSS transform on the canvas stage; SVG overlay in image-pixel space.
- **Hosting:** static. ~470 MB of WebPs total. Drop behind nginx; no backend.
- **Hosting:** static. ~120 MB of WebPs total, committed to the repo. Drop
behind nginx; no backend.
## Layout
@@ -40,7 +41,7 @@ mplus-routes/
├── app.js
└── assets/
├── dungeons.json
└── maps/ per-dungeon WebPs (gitignored — too big without LFS)
└── maps/ per-dungeon WebPs (~120 MB, committed)
```
## Build
@@ -50,7 +51,7 @@ python3 -m venv .venv
.venv/bin/pip install Pillow
.venv/bin/python tools/kg_fetch.py --workers 32 --zoom 4 # fetch tiles + data (~1.3 GB raw)
.venv/bin/python tools/kg_stitch.py --workers 4 # → web/assets/maps/*.webp (~470 MB)
.venv/bin/python tools/kg_stitch.py --workers 4 # → web/assets/maps/*.webp (~120 MB)
.venv/bin/python tools/kg_build_data.py # → web/assets/dungeons.json
```
@@ -71,8 +72,8 @@ TLS automatically.
First-time bring-up:
1. Add `mplus.exil.es` A/AAAA records in NetBox (→ public HAProxy VIPs)
2. Push the Ansible commit, trigger `Ansible_DeployPublicHaproxy`
3. Materialize `web/assets/maps/` on the deploy host (run the build pipeline above)
4. Run `playbooks/setup_mplus_routes.yml`
3. Run `playbooks/setup_mplus_routes.yml``web/assets/maps/` ships in the
repo, no pre-build step needed.
## Coverage