docs(reference): import Dune: Awakening server-manager references
All checks were successful
CI / backend-types (push) Successful in 10s
CI / frontend-build (push) Successful in 15s
CI / agent-tests (push) Successful in 39s
CI / integration (push) Successful in 22s

Phase 2 references for the host-agent Dune adapter, moved out of volatile /tmp
into docs/reference-repos/ (per Commander). Three upstream projects, .git +
node_modules + compiled binaries stripped (16MB source). Nested AI-instruction
files (.claude/, CLAUDE.md) removed so they don't pollute Corrosion sessions.

- icehunter/    dune-admin (Go+React) — 4 control planes; SETUP_DOCKER.md is the
                closest analog to our agent's Dune docker control plane (compose
                lifecycle, docker logs, RabbitMQ-via-exec, dune Postgres schema)
- adainrivers/  Rust/Tauri desktop — SSH+k8s BattleGroup control, maintenance
                daemon, in-game admin console (Rust idiom reference)
- the4rchangel/ Node web UI replacing battlegroup.bat — matches the Commander's
                Hyper-V self-host path + game-config schema

See docs/reference-repos/README.md for the full index + how we use each.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Vantz Stockwell
2026-06-11 21:08:05 -04:00
parent 0715492ddf
commit 651a35d4be
1334 changed files with 238971 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# ADR 0006 — Replace per-project k8s manifests with one unified manifest
**Status:** Implemented (Phase 3)
**Date:** 2025-05-27
## Context
There are currently two separate Kubernetes manifests:
- `dune-admin/docker-compose.yml` — local Docker development
- `dune-market-bot/k8s/market-bot.yaml` — k8s Deployment, Service, ConfigMap, Secret for the bot
After ADR 0003 (single binary), both functions ship in one image. Maintaining two manifests targeting different images creates confusion and drift risk.
## Decision
Create `deploy/k8s/dune-admin.yaml` as the single authoritative k8s manifest. It includes:
- **Namespace** — `dune-admin`
- **Deployment** — single replica, single container (`dune-admin` image), all env vars wired from ConfigMap and Secret
- **Service** — ClusterIP, port 8080
- **ConfigMap** — non-secret config: DB host/port/name, bot intervals, listen addr, `MARKET_BOT_ENABLED`
- **Secret** — DB password and broker credentials (`BROKER_USER`, `BROKER_PASS`, `BROKER_JWT_SECRET`)
- **PersistentVolumeClaim** — `market-bot-cache`, used for SQLite (see ADR 0007)
- Liveness probe: `GET /api/v1/status` → 200
- Readiness probe: same
Both old manifests (`docker-compose.yml` at repo root, `dune-market-bot/k8s/market-bot.yaml`) are removed. Migration notes are added to `SETUP_DOCKER.md`.
## Consequences
- Operators who previously ran two pods now run one; the market bot is not a separately addressable network endpoint in-cluster
- The PVC must be provisioned by the cluster's default StorageClass (or operators set `storageClassName` explicitly)
- `kubectl apply --dry-run=client` is part of Phase 3 verification