Skip to content

Create fcctl-core crate with VmManager and SnapshotManager #664

Open

Description

@AlexMikhalev

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):

Location

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions