Shed Roadmap¶
This document outlines planned future enhancements for Shed.
Firecracker Hardening¶
- Consider reducing
MaxMessageSize(16MB) or adding streaming for large messages in agentproto.
Notification Channel Enhancements¶
Future uses for the persistent agent↔host notification port (1026):
- Agent-pushed resource metrics — CPU/memory/disk usage pushed from agent at configurable intervals. Enables
shed statusto show live resource usage without exec overhead. - Process event notifications — agent notifies host when provisioning hooks finish, services crash, or long-running processes exit. Enables reactive orchestration.
- Log streaming — structured log events from inside the VM pushed over the notification channel. Alternative to SSH-based log tailing.
- Provisioning pipeline over persistent connection — consolidate the sequential exec calls during provisioning into a single persistent connection to reduce vsock connection overhead.
Other Potential Enhancements¶
GPU Passthrough Support¶
Enable GPU access in Firecracker VMs for ML/AI workloads. This would require: - VFIO-based GPU passthrough - Driver installation in rootfs - Resource allocation management
Snapshot/Restore¶
Enable fast VM startup using snapshots: - Pre-boot snapshots for instant start - User-triggered snapshots for state preservation - Snapshot management commands
Resource Limits¶
Enhanced resource management: - CPU quota/throttling - Memory overcommit policies - I/O bandwidth limits - Network rate limiting
Virtiofs Support for Firecracker¶
If Firecracker adds virtiofs (issue #1180), credentials and local-dir mounts could use virtiofs instead of 9P for improved performance. The VZ backend already uses VirtioFS via Apple's Virtualization.framework.
Intel macOS VZ Support¶
Expand the VZ backend beyond Apple Silicon to support Intel macOS hosts.
- Add architecture-aware VZ rootfs build support (
linux/amd64path inscripts/build-vz-rootfs.sh) - Validate vfkit + kernel boot flow on Intel Macs
- Add Intel-specific setup and troubleshooting documentation
Multi-node Sheds¶
Support for distributed development environments: - Multiple VMs working together - Shared networking - Service discovery - Orchestration integration
General Quality¶
- Revisit docstring coverage thresholds and expand public API documentation if needed.