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>
1.2 KiB
1.2 KiB
ADR 0003 — Ship a single binary and container image
Status: Accepted
Date: 2025-05-27
Context
Today two binaries are deployed: dune-admin (the admin API + web UI) and market-bot (the market-making loop). This requires two container images, two Dockerfiles, two k8s Deployments, and two separate build/push pipelines.
After ADR 0002 (embed as library), the market bot runs inside the dune-admin process. There is no longer any reason to build or ship a separate binary.
Decision
Produce a single dune-admin binary from cmd/dune-admin/ that embeds the market bot goroutine. The deploy/Dockerfile builds only this binary. One container image covers both functions.
The market bot loop is opt-in via market_bot_enabled in config.yaml; disabling it adds zero overhead (the goroutine is never started).
Consequences
- Container image is slightly larger (adds
modernc.org/sqliteand bot logic), but SQLite is a pure Go library so no CGO and no runtime C deps - Image build time increases marginally (one extra dependency)
- External-bot proxy mode is removed; this remains a single-binary, embedded-bot deployment
- Release versioning is unified: one version tag covers both features