Skip to content

feat(deploy): linux bring-up templates for observer/driver/slave + compose test#1

Merged
yzs15 merged 2 commits into
masterfrom
feat/deploy-linux-bringup
May 21, 2026
Merged

feat(deploy): linux bring-up templates for observer/driver/slave + compose test#1
yzs15 merged 2 commits into
masterfrom
feat/deploy-linux-bringup

Conversation

@yzs15
Copy link
Copy Markdown
Collaborator

@yzs15 yzs15 commented May 21, 2026

Summary

  • New top-level multi-agent/deploy/linux/ with three bring-up templates (observer / driver / slave), promoted out of the gitignored tests/prod_test/linux-* location.
  • New deploy/linux/compose-test/ docker-compose stack that runs all three installers against a local observer and surfaces the device-code "join workspace" URL each agent prints on first start.
  • Slave / driver install.sh now take `--observer-url` (required) and `--workspace` (default `ws-default`) instead of bundling prod-test values into their templates; `SERVICE_USER` defaults via `${USER:-$(id -un)}` so installers work in containers without a `USER` env var.
  • Companion skill-doc updates: `Slave File Tools` section in driver-tools.md; file-tools alternative path in mcp-acceptance; warnings against `cat <<EOF`/base64 over bash when the slave advertises `file`.

Pre-built binaries for all four agent binaries (driver, slave, observer × amd64/arm64) are already published at the v0.0.1 release. install.sh prints both a `curl` download command and the `go build` invocation in its missing-binary error.

Test plan

  • `bash -n` on all four `install.sh` files
  • `docker compose up --build` end-to-end:
    • observer container healthy on `:8090` + workspace banner printed
    • slave container reaches device-code OAuth, prints `https://agent.cs.ac.cn/oauth2/device/verify?user_code=...\` URL
    • driver container reaches device-code OAuth, prints its register URL
    • observer logs `registered agent ws=ws-test id=compose-slave role=slave via api_key_id=bootstrap` (slave's observer bootstrap api-key works end-to-end)
  • `docker compose down -v` cleans up
  • human reviewer to skim the four new READMEs

🤖 Generated with Claude Code

yzs15 and others added 2 commits May 21, 2026 19:41
…mpose smoke test

Promote the host-native installers out of `tests/prod_test/linux-{driver,slave}/`
(which were gitignored under the prod_test dir) into a top-level
`multi-agent/deploy/linux/` tree, refresh stale bits, and add an observer
template plus a docker-compose end-to-end deploy test.

deploy/linux/observer/  — new: systemd-hardened observer-server install
deploy/linux/driver/    — moved + `--observer-url` / `--workspace` flags + arm64 support
deploy/linux/slave/     — moved + `--observer-url` / `--workspace` flags + `file` skill in template
deploy/linux/compose-test/ — docker-compose stack that runs all three installers
  against a local observer; entrypoints surface the device-code "join workspace"
  URL each agent prints on first start.

Templates now use `__OBSERVER_URL__` / `__WORKSPACE_ID__` placeholders instead
of hardcoded prod-test values; install.sh `SERVICE_USER` defaults via
`${USER:-$(id -un)}` so it works in containers without a `USER` env var.

Pre-built binaries are published at the v0.0.1 release; install.sh prints both
a `curl` download command and a `go build` command in its missing-binary error.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- multiagent/references/driver-tools.md: new "Slave File Tools" section
  covering read_slave_file / write_slave_file / stat_slave_file, including
  blob_handle reuse for cross-slave copy without re-fetching.
- multiagent/SKILL.md & references/slave-skills.md & orchestration-patterns.md:
  warn against hand-rolling `cat <<EOF`/base64-in-bash payloads when the
  slave advertises `file`; prefer write_slave_file/read_slave_file.
- mcp-acceptance/SKILL.md: document the file-tools alternative to
  remote_run.py with a tradeoff table (cleanup, re-run cost, inspection).
- scaffold-mcp-server/SKILL.md: cross-reference write_slave_file as the
  preferred path for shipping generated server source to the slave.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@yzs15 yzs15 merged commit deed358 into master May 21, 2026
0 of 2 checks passed
@yzs15 yzs15 deleted the feat/deploy-linux-bringup branch May 21, 2026 11:51
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