docs: replace with current upstream dependencies (portal, API, agent, Modrinth, artifact store)
This commit is contained in:
parent
c297bbcadf
commit
e615d09b68
103
UPSTREAMS.md
103
UPSTREAMS.md
@ -1,39 +1,29 @@
|
||||
# Upstreams — zlh-grind
|
||||
# Upstream Dependencies
|
||||
|
||||
This repository tracks GPT execution work across upstream projects.
|
||||
## Portal
|
||||
- Next.js 15 (App Router)
|
||||
- TypeScript
|
||||
- Axios (API calls)
|
||||
- WebSocket console (`TerminalView` / `ServerConsole`)
|
||||
- Multipart `FormData` upload
|
||||
|
||||
## Rules
|
||||
- This file is a registry of upstream repos used during execution.
|
||||
- Do not duplicate canonical documentation here; link to it.
|
||||
## API
|
||||
- Node.js (ESM)
|
||||
- Express
|
||||
- Raw `http.request` for upload proxy (not `fetch`)
|
||||
- Prisma (DB ORM)
|
||||
- JWT token auth
|
||||
- Redis (agent telemetry cache)
|
||||
|
||||
---
|
||||
|
||||
## ZeroLagHub Knowledge Base (Canonical)
|
||||
- Repo: `https://git.zerolaghub.com/jester/knowledge-base`
|
||||
- Role: Canonical architecture, decisions, procedures, handovers
|
||||
|
||||
## zlh-grind (Execution Ledger)
|
||||
- Repo: `https://git.zerolaghub.com/jester/zlh-grind`
|
||||
- Role: GPT execution notes, session logs, drift prevention
|
||||
|
||||
## zlh-api / zpack-api (API / Control Plane)
|
||||
- Repo: `https://git.zerolaghub.com/jester/zlh-api`
|
||||
- Role: Control-plane orchestration (instance lifecycle, DB writes, agent coordination)
|
||||
- Notes: Game telemetry routes live under `/api/game/*`. Full mod lifecycle routes added Feb 2026.
|
||||
|
||||
## Portal / Frontend (Next.js)
|
||||
- Repo: `https://git.zerolaghub.com/jester/zlh-portal`
|
||||
- Role: Customer portal (dashboard, console UX, mod management UI)
|
||||
|
||||
## zlh-agent (Go Agent)
|
||||
- Repo: `https://git.zerolaghub.com/jester/zlh-agent`
|
||||
- Role: Agent runtime for provisioning/install/verify/start workflows + console PTY
|
||||
- Notes: Periodic update checks + Phase 1 mod management + process metrics added Feb 2026. Host allowlist includes `cdn.modrinth.com` and `artifacts.zerolaghub.com`.
|
||||
|
||||
## Artifacts (Minecraft zpack tree)
|
||||
- Location (VM filesystem): `/opt/zlh/zpacks/minecraft/`
|
||||
- Role: Local-first artifacts for vanilla/paper/purpur/fabric/forge/**neoforge** installs.
|
||||
- Notes: Phase 1 contract normalizes certain installer filenames for predictable installs.
|
||||
## Agent
|
||||
- Go
|
||||
- Runtime root sandboxing (`internal/files`)
|
||||
- Atomic file writes (`os.Rename`)
|
||||
- `.zlh_metadata.json` provenance tracking
|
||||
- Shadow backup system (`.zlh-shadow`)
|
||||
- PTY-backed console over WebSocket
|
||||
- Mod management endpoints
|
||||
- Agent update system (versioned, SHA-verified)
|
||||
|
||||
---
|
||||
|
||||
@ -41,36 +31,35 @@ This repository tracks GPT execution work across upstream projects.
|
||||
|
||||
Used for mod resolution and search.
|
||||
|
||||
**Endpoints used:**
|
||||
- `GET /v2/project/{id}/version` — fetch compatible versions for a mod
|
||||
- `GET /v2/search?facets=` — search mods by loader + game version
|
||||
|
||||
**Host allowlist:**
|
||||
- `cdn.modrinth.com` — artifact downloads (agent-level)
|
||||
- `api.modrinth.com` — API calls (API-level resolver)
|
||||
|
||||
**Constraints:**
|
||||
- Base: `api.modrinth.com/v2`
|
||||
- Rate limit: 300 req/min
|
||||
- Requires `User-Agent` header
|
||||
- Search is loader + game version filtered
|
||||
- SHA512 provided on all artifacts (SHA1 fallback)
|
||||
- No API key required for public endpoints
|
||||
- SHA512 provided on all artifacts (SHA1 fallback)
|
||||
|
||||
Agent host allowlist:
|
||||
- `cdn.modrinth.com` — artifact downloads
|
||||
- `api.modrinth.com` — search/resolve (API-level)
|
||||
|
||||
---
|
||||
|
||||
## Authentication Ownership
|
||||
## Artifact Store
|
||||
|
||||
### Portal
|
||||
- Owns identity UX (login, logout, session handling)
|
||||
- Stores JWT token
|
||||
- Attaches Authorization header to API calls
|
||||
Location (VM filesystem): `/opt/zlh/zpacks/minecraft/`
|
||||
|
||||
### APIv2
|
||||
- Validates credentials
|
||||
- Issues JWT tokens
|
||||
- Verifies tokens for protected routes
|
||||
- Persists user records
|
||||
Loader coverage:
|
||||
- Vanilla, Paper, Purpur, Forge, Quilt, NeoForge
|
||||
|
||||
### Explicit Non-Responsibilities
|
||||
- API does not manage frontend sessions
|
||||
- Portal does not validate credentials directly
|
||||
No external reverse proxy required for internal upload path.
|
||||
|
||||
---
|
||||
|
||||
## Repo Registry
|
||||
|
||||
| Repo | Role |
|
||||
|------|------|
|
||||
| `zlh-grind` | Architecture alignment, session logs, constraints, open threads |
|
||||
| `zlh-api` | Control plane (Node + Express) |
|
||||
| `zlh-portal` | Frontend (Next.js) |
|
||||
| `zlh-agent` | Go runtime inside containers |
|
||||
| `knowledge-base` | Canonical architecture docs |
|
||||
|
||||
Loading…
Reference in New Issue
Block a user