Launch MVP tile delivery server
This commit is contained in:
@@ -49,6 +49,48 @@ and publishes:
|
||||
- `http://SERVER_IP/ground_zero_tiles.json`
|
||||
- `http://SERVER_IP/tiles/gz_us_ca_pacifica_utm10n_e544_n4160/v0/...`
|
||||
|
||||
## Current MVP VM
|
||||
|
||||
The first Unraid-hosted MVP tile server is running on the existing
|
||||
`Ubuntu-Codex` VM while we keep costs at zero and avoid creating a new paid
|
||||
cloud host too early.
|
||||
|
||||
Current endpoint:
|
||||
|
||||
```text
|
||||
http://192.168.5.10:18080
|
||||
```
|
||||
|
||||
The uncommon port is intentional for this local MVP proof. The server publishes:
|
||||
|
||||
- `http://192.168.5.10:18080/health`
|
||||
- `http://192.168.5.10:18080/manifest.json`
|
||||
- `http://192.168.5.10:18080/ground_zero_tiles.json`
|
||||
- `http://192.168.5.10:18080/tiles/gz_us_ca_pacifica_utm10n_e544_n4160/v0/...`
|
||||
|
||||
The attempted dedicated `Agrarian-TileServer` VM bootstrap was deferred because
|
||||
the Ubuntu cloud image download from Unraid was too slow to be practical during
|
||||
this pass. A dedicated VM remains the next hardening step before exposing the
|
||||
tile server outside the LAN.
|
||||
|
||||
## Verify Client Lookup And Cache
|
||||
|
||||
From a representative Linux client with the repo mounted:
|
||||
|
||||
```bash
|
||||
cd /mnt/projects/AgrarianGameBulid
|
||||
Scripts/verify_tile_delivery_client.sh http://192.168.5.10:18080
|
||||
```
|
||||
|
||||
The verification script:
|
||||
|
||||
- downloads `manifest.json`;
|
||||
- resolves the tile registry and package paths;
|
||||
- downloads the Ground Zero terrain package files into a local cache;
|
||||
- verifies `SHA256SUMS`;
|
||||
- checks that immediate-neighbor metadata exists for the Ground Zero tile;
|
||||
- deletes and redownloads the heightmap to prove cache recovery.
|
||||
|
||||
## Cost Control
|
||||
|
||||
Keep the MVP server small:
|
||||
@@ -63,7 +105,8 @@ Keep the MVP server small:
|
||||
|
||||
## Security Baseline
|
||||
|
||||
- Allow inbound `80/tcp` for the public MVP endpoint.
|
||||
- Allow inbound `18080/tcp` for the local MVP endpoint. Use `80/tcp` or
|
||||
`443/tcp` only when a real DNS name and HTTPS path are assigned.
|
||||
- Allow SSH only from trusted admin IPs.
|
||||
- Add HTTPS with certbot when a real DNS name is assigned.
|
||||
- Treat tile packages as immutable by version. Publish fixes as a new package
|
||||
@@ -71,6 +114,7 @@ Keep the MVP server small:
|
||||
|
||||
## Next Proof
|
||||
|
||||
The next implementation step after this runbook is to launch the MVP cloud VM,
|
||||
publish this static package, and prove lookup/download/cache/redownload behavior
|
||||
from a representative client.
|
||||
The current implementation proves static lookup/download/cache/redownload on
|
||||
the LAN. The next operational hardening step is to move this from shared
|
||||
`Ubuntu-Codex` hosting to a dedicated `Agrarian-TileServer` VM or external cloud
|
||||
host when we need public testing.
|
||||
|
||||
Reference in New Issue
Block a user