terraphim / terraphim/terraphim-ai

Create fcctl-core crate with VmManager and SnapshotManager

Open
#664 0 comments 0 reactions 1 assignee View on GitHub

@AlexMikhalev is already working on this.

Since Mar 11, 2026.

dependencies enhancement
Dominant language
Rust
Stars
62
Forks
5
Avg merge
2h 27m
Merged PRs (30d)
1

Description

Summary

PR #426 (feat(rlm): RLM orchestration with MCP tools) is blocked because the external dependency fcctl-core is missing.

The terraphim_rlm crate imports fcctl_core::vm::VmManager and fcctl_core::snapshot::SnapshotManager from a local path ../../../firecracker-rust/fcctl-core, but this directory does not exist.

Requirements

The fcctl-core crate should provide:

  1. fcctl_core::vm::VmManager trait/struct with methods:
    • new(firecracker_bin, socket_base_path, ...) -> Result<Self>
    • get_vm_client(&vm_id) -> Result<VmClient>
    • get_vm_ip(&vm_id) -> Option<String>
  2. fcctl_core::snapshot::SnapshotManager trait/struct with methods:
    • new(snapshots_dir, ...) -> Result<Self>
    • create_snapshot(vm_client, vm_id, name, snapshot_type, ...) -> Result<String>
    • restore_snapshot(vm_client, snapshot_id) -> Result<()>
    • list_snapshots(vm_id_option) -> Result<Vec<SnapshotInfo>>
    • delete_snapshot(snapshot_id, force) -> Result<()>
  3. fcctl_core::firecracker::models::SnapshotType enum

Related Issues

This crate should implement the following features (tracked in separate issues):

  • #14: ExecutionEnvironment trait
  • #15: Pre-warmed VM pool
  • #16: OverlayFS support
  • #17: Network audit logging
  • #18: LLM bridge endpoint
  • #19: Output streaming

Location

The crate should be created in a new repository terraphim/firecracker-rust or within the current repository under crates/fcctl-core.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.