[PR #411] [CLOSED] feat(compose): add the guest Compose runtime image #413

Closed
opened 2026-10-29 14:23:08 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/AgentENV/pull/411
Author: @Primary33
Created: 10/22/2026
Status: ❌ Closed

Base: main ← Head: codex/compose-guest


📝 Commits (1)

  • 31527de feat(compose): add the guest Compose runtime image

📊 Changes

4 files changed (+561 additions, -0 deletions)

View changed files

➕ compose-image/Dockerfile (+117 -0)
➕ crates/aenv/src/commands/compose.rs (+436 -0)
📝 crates/aenv/src/commands/mod.rs (+2 -0)
📝 crates/aenv/src/main.rs (+6 -0)

📄 Description

What

Add the Compose guest runtime and its Docker image, including the optional guest-kernel build target.

Why

Run Docker Compose services on separately mounted service root filesystems inside a sandbox.

Guest-runtime part of the #349 split. Independent of planner #410; #349 integrates both.

Scope and non-goals

Linux-only aenv compose guest-init / guest-start, CLI registration, and compose-image/Dockerfile.

Design and behavior changes

guest-init supervises the snapshotter, containerd and Docker. guest-start reads one newline-terminated startup frame, registers service images, and waits for Compose readiness with a fixed 300-second budget. The internal Compose command is hidden and compiled only on Linux; the public up command follows in a separate PR.

Compatibility and operations

The image targets Linux amd64. The Dockerfile also provides the optional kernel-output target for a compatible guest kernel. Guest startup frames are introduced with the runtime and first connected to the server in #349.

Validation

On the designated Ubuntu test host:

  • cargo test -p aenv --bin aenv — 119 passed in this independent branch.
  • docker build --network=host -f compose-image/Dockerfile . — passed with an isolated Docker daemon/data directory; host networking supplies build downloads.

Risks and reviewer notes

Runtime initialization runs once on fresh creation; VM snapshots preserve the running processes. Kernel stage is retained with this image PR.

Checklist

  • One coherent runtime/image change with focused tests.
  • Logs and examples contain no credentials or private settings.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/AgentENV/pull/411 **Author:** [@Primary33](https://github.com/Primary33) **Created:** 10/22/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/compose-guest` --- ### 📝 Commits (1) - [`31527de`](https://github.com/kvcache-ai/AgentENV/commit/31527dee76bb5469111147657e1c6dc34c2b21a9) feat(compose): add the guest Compose runtime image ### 📊 Changes **4 files changed** (+561 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `compose-image/Dockerfile` (+117 -0) ➕ `crates/aenv/src/commands/compose.rs` (+436 -0) 📝 `crates/aenv/src/commands/mod.rs` (+2 -0) 📝 `crates/aenv/src/main.rs` (+6 -0) </details> ### 📄 Description ## What Add the Compose guest runtime and its Docker image, including the optional guest-kernel build target. ## Why Run Docker Compose services on separately mounted service root filesystems inside a sandbox. ## Related issue Guest-runtime part of the #349 split. Independent of planner #410; #349 integrates both. ## Scope and non-goals Linux-only `aenv compose guest-init` / `guest-start`, CLI registration, and `compose-image/Dockerfile`. ## Design and behavior changes `guest-init` supervises the snapshotter, containerd and Docker. `guest-start` reads one newline-terminated startup frame, registers service images, and waits for Compose readiness with a fixed 300-second budget. The internal Compose command is hidden and compiled only on Linux; the public `up` command follows in a separate PR. ## Compatibility and operations The image targets Linux amd64. The Dockerfile also provides the optional `kernel-output` target for a compatible guest kernel. Guest startup frames are introduced with the runtime and first connected to the server in #349. ## Validation On the designated Ubuntu test host: - [x] `cargo test -p aenv --bin aenv` — 119 passed in this independent branch. - [x] `docker build --network=host -f compose-image/Dockerfile .` — passed with an isolated Docker daemon/data directory; host networking supplies build downloads. ## Risks and reviewer notes Runtime initialization runs once on fresh creation; VM snapshots preserve the running processes. Kernel stage is retained with this image PR. ## Checklist - [x] One coherent runtime/image change with focused tests. - [x] Logs and examples contain no credentials or private settings. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:23:08 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/AgentENV#413
No description provided.