Skip to content

T-1: Docker exec PTY proof-of-concept via bollard#56

Merged
kirich1409 merged 2 commits intomainfrom
feature/t1-docker-exec-poc
Apr 13, 2026
Merged

T-1: Docker exec PTY proof-of-concept via bollard#56
kirich1409 merged 2 commits intomainfrom
feature/t1-docker-exec-poc

Conversation

@kirich1409
Copy link
Copy Markdown
Contributor

Summary

Standalone spike confirming that bollard (Rust Docker client) can reliably manage exec instances with TTY allocation, supporting full cloud-mode terminal sessions.

What Changed

  • Added bollard 0.17 dependency to runner/Cargo.toml
  • Implemented DockerExecSpike in runner/src/docker_exec_poc.rs (spike code, not production)
  • Created docs/docker-exec-spike.md documenting findings and API surface

Acceptance Criteria

  • bollard exec attach to running ubuntu container — raw bytes readable
  • Resize through resize_exec() works (tput cols reports new value)
  • Exit code accessible via inspect_exec() after process termination
  • Latency roundtrip < 200ms on localhost (~15–50ms observed)
  • PoC documented in docs/docker-exec-spike.md

Findings

✓ Raw byte I/O works reliably via LogOutput stream
✓ Resize applies correctly to container PTY
✓ Exit codes available after process termination
✓ Latency well below 200ms requirement on localhost

All APIs ready for production integration in T-4 (Docker Orchestrator).

Closes #15

Add bollard 0.17 dependency and implement Docker exec PoC demonstrating:
- Exec creation with TTY allocation
- Raw byte I/O via streaming output
- PTY resize via resize_exec()
- Exit code retrieval via inspect_exec()
- Roundtrip latency < 200ms on localhost (~15-50ms observed)

All acceptance criteria verified and documented in docs/docker-exec-spike.md

Closes #15
Copilot AI review requested due to automatic review settings April 13, 2026 13:26
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Standalone spike to validate that the bollard Rust Docker client can create/attach to exec sessions with TTY, resize the PTY, and retrieve exec exit codes—intended to de-risk upcoming “cloud-mode terminal session” work (T-4).

Changes:

  • Added bollard as a runner dependency (and updated lockfile).
  • Introduced DockerExecSpike PoC module for exec attach/resize/inspect experiments.
  • Added a markdown write-up documenting findings and relevant API surface.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
runner/src/main.rs Declares the new PoC module in the main binary crate.
runner/src/docker_exec_poc.rs Implements the exec+TTY PoC logic and a basic unit test.
runner/Cargo.toml Adds bollard = "0.17" dependency.
runner/Cargo.lock Lockfile updates from introducing bollard and transitive deps.
docs/docker-exec-spike.md Documents the spike results, APIs used, and next steps.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread runner/src/docker_exec_poc.rs
Comment thread runner/src/docker_exec_poc.rs
Comment thread runner/src/main.rs
Comment thread runner/src/docker_exec_poc.rs
@kirich1409 kirich1409 merged commit 8578dcb into main Apr 13, 2026
10 checks passed
@kirich1409 kirich1409 deleted the feature/t1-docker-exec-poc branch April 13, 2026 13: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.

T-1: Docker exec PTY proxy proof-of-concept через bollard

2 participants