Skip to content

Conversation

@domenkozar
Copy link
Member

Replace the runc CLI dependency with direct libcontainer API usage from youki. This eliminates the need for external dependency and process spawning, while using a faster container runtime.

Key changes:

  • Remove runc and youki CLI dependencies from shell.nix
  • Add libcontainer as a Rust dependency (from youki tagpr-from-v0.5.3 branch)
  • Rewrite OCIBuildService to use ContainerBuilder API directly
  • Implement proper container state management using refresh_status()
  • Add container and bundle cleanup after execution
  • Improve error handling with container state validation

The implementation now programmatically creates and manages containers using libcontainer's API, providing better resource management and error handling compared to spawning external CLI processes.

🤖 Generated with Claude Code

Change-Id: Ie7714b6c129e54bf8c29accf4c72ba889b656c36

Replace the runc CLI dependency with direct libcontainer API usage from
youki. This eliminates the need for external dependency and process spawning,
while using a faster container runtime.

Key changes:
- Remove runc and youki CLI dependencies from shell.nix
- Add libcontainer as a Rust dependency (from youki tagpr-from-v0.5.3 branch)
- Rewrite OCIBuildService to use ContainerBuilder API directly
- Implement proper container state management using refresh_status()
- Add container and bundle cleanup after execution
- Improve error handling with container state validation

The implementation now programmatically creates and manages containers
using libcontainer's API, providing better resource management and
error handling compared to spawning external CLI processes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Change-Id: Ie7714b6c129e54bf8c29accf4c72ba889b656c36
@domenkozar domenkozar marked this pull request as draft June 25, 2025 03:58
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.

2 participants