Skip to content

[Subtask] Design and create container with potential plugins as a tools to access restored file systems #6

@mpryc

Description

@mpryc

📝 Summary

A short one-sentence summary of the task

Design and create a container image with file system access and tools to handle different types of restored VM filesystems including data within VM image.

🎯 Goal

What problem does this solve / what do we want to achieve?

Provide a standardized container environment that can access and serve files from various filesystem types commonly used in VMs (ext4, xfs, ntfs, etc.) and VirtualMachineInstance disks (qcow2 and raw). This solves the problem of filesystem compatibility and provides a consistent interface for file access regardless of the underlying VM filesystem format.

✅ Acceptance Criteria

What should be true when this task is done?

  • Design accepted
  • Container image supports common VM filesystem types (ext4, xfs, ntfs, btrfs, other ...)
  • (Optional) Plugin architecture similar to Velero's allows extensibility for above filesystem types
  • Container includes necessary filesystem utilities and drivers
  • Support for read-only mounting to ensure data safety
  • Functionality works as described
  • Tests are added/updated
  • Documentation is updated

📋 Proposed Steps / Notes

Outline how it can be done, if known

  1. Research common VM filesystem types and their access requirements used within KubeVirt
  2. Design plugin architecture for extensible filesystem support and decide if the container should follow pluggable architecture or should be all in one tool
  3. Create base container image with essential filesystem utilities (check the virt-launcher image as a base)
  4. Add filesystem detection and automatic plugin selection logic
  5. Implement read-only mounting mechanisms for data safety

Note: Integration of this contrainer with VMFR controller is a different task

🔗 Related

⚖️ Effort / Priority

  • Effort: L
  • Priority: High

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions