mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[PR #417] feat(cli): add aenv compose up #418
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#418
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/AgentENV/pull/417
Author: @Primary33
Created: 10/22/2026
Status: 🔄 Open
Base:
main← Head:feat/compose-cli📝 Commits (4)
afe5e13feat(compose): add the Compose plannere89868afeat(compose): add the guest Compose runtime image0fe2d69feat(compose): run Compose projects in isolated sandboxes7957f81feat(cli): add aenv compose up📊 Changes
33 files changed (+2945 additions, -26 deletions)
View changed files
📝
.github/workflows/release.yml(+10 -0)➕
compose-image/Dockerfile(+117 -0)➕
compose-image/test_e2e.py(+220 -0)➕
crates/aenv/src/commands/compose.rs(+649 -0)📝
crates/aenv/src/commands/mod.rs(+1 -0)📝
crates/aenv/src/commands/start.rs(+1 -1)📝
crates/aenv/src/main.rs(+3 -0)📝
deploy/docker/Dockerfile.agentenv(+7 -0)📝
docs/src/concepts/sandboxes/starting.md(+144 -2)📝
docs/src/configuration/reference.md(+9 -0)📝
docs/src/getting-started/quickstart.md(+30 -0)📝
scripts/install.sh(+3 -0)📝
services/Makefile(+5 -0)➕
services/compose/cmd/main.go(+30 -0)➕
services/compose/plan.go(+365 -0)➕
services/compose/plan_test.go(+172 -0)➕
services/gateway/internal/compose_test.go(+36 -0)📝
services/gateway/internal/metrics.go(+1 -1)📝
services/gateway/internal/schedule_hint.go(+1 -1)📝
services/gateway/internal/server.go(+13 -2)...and 13 more files
📄 Description
What
Add
aenv compose upand its user documentation.Why
Create a ready multi-service sandbox from a Compose file and print its sandbox ID.
Related issue
Depends on #349, which depends on #415 and #416. Review the last commit only. This draft is stacked on #349; rebase onto main after it merges. #348 will build on this CLI entry point.
Scope and non-goals
CLI request construction and tests, shared disk-size parsing, Compose setup/usage documentation, quickstart and CLI E2E coverage.
Design and behavior changes
Read a file or stdin, forward explicit interpolation variables/profiles/resources, wait for readiness and print only the sandbox ID. Use the existing authentication client with a 660-second request timeout. Expose Compose on all CLI platforms while keeping guest runtime subcommands Linux-only.
Compatibility and operations
Requires
/sandboxes-composefrom #349. Startup failures return the API error and a nonzero exit status. A request timeout can leave creation running; the documentation explains checking the sandbox list before retrying.Validation
cargo fmt -p aenv -- --checkcargo test -p aenv --bin aenv— 123 passed on the designated Ubuntu test host.python3 compose-image/test_e2e.py ComposeE2E.test_cli_compose_up -v— passed against the server from #349 and guest image from #416.Risks and reviewer notes
The public command is introduced here; guest runtime and lifecycle behavior are supplied by the dependencies.
Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.