docs(reference): import Dune: Awakening server-manager references
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:
@@ -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
|
||||
Reference in New Issue
Block a user