Skip to content

Add lab/ scaffolding for resource-light local testing - #166

Open
MyDirdyHobby wants to merge 1 commit into
tiagorlampert:mainfrom
MyDirdyHobby:claude/nifty-hoover-5edc85
Open

Add lab/ scaffolding for resource-light local testing#166
MyDirdyHobby wants to merge 1 commit into
tiagorlampert:mainfrom
MyDirdyHobby:claude/nifty-hoover-5edc85

Conversation

@MyDirdyHobby

Copy link
Copy Markdown

Summary

Adds a small lab/ directory with two helper files that make it easier
to test CHAOS locally without spinning up a full VM. Nothing in the main
project is touched.

  • lab/docker-compose.yml — builds the existing Dockerfile, runs
    the server in SQLite mode on port 8080, and persists database/ and
    temp/ under lab/data/ (already covered by the project .gitignore).
    One-command server: cd lab && docker compose up -d --build.

  • lab/chaos-client.wsb — a Windows Sandbox config for testing the
    Windows client. 2 GB RAM, GPU/audio/video/clipboard/printer disabled,
    ProtectedClient on. A read-only mapped folder
    (C:\chaos-lab\client → Desktop) lets you drop the built client
    binary into a disposable sandbox; closing the window discards
    everything, so each run starts clean.

Why

Right now contributors have to set up a VM by hand to test client
behaviour safely. This makes the smallest reasonable lab setup a
two-file checkin so it's reproducible and version-controlled.

Notes for reviewers

  • No source code or build changes — purely additive scaffolding under lab/.
  • The .wsb requires Windows 10/11 Pro/Enterprise with the Windows
    Sandbox optional feature enabled (Optionalfeatures.exe).
  • Compose volumes resolve to lab/data/database and lab/data/temp,
    which match the existing .gitignore rules (database/, temp/).

Test plan

  • cd lab && docker compose up -d --build brings the server up on http://localhost:8080
  • Default login admin/admin works
  • docker compose down stops cleanly; data persists in lab/data/
  • Double-clicking chaos-client.wsb on a Windows host opens a sandbox with the mapped client folder on the desktop
  • Sandbox can reach the host's compose server on port 8080

🤖 Generated with Claude Code

Adds two helper files for testing CHAOS in an isolated, low-footprint
setup without spinning up a full VM:

- lab/docker-compose.yml: builds the existing Dockerfile, runs the
  server in SQLite mode, persists database/temp under lab/data/
  (already covered by .gitignore).
- lab/chaos-client.wsb: Windows Sandbox config with 2GB RAM,
  clipboard/printer/audio/video off, and a read-only mapped folder
  for the built client binary. Sandbox is discarded on close, so
  every run starts clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant