Description
Currently, our machinery system uses hard-coded logic with Terraform for VM provisioning and management. It would be a good idea to create and expose a proper abstraction API for the machinery system, which would make the codebase more flexible and allow for alternative solutions to Terraform.
Potential Example Backends to Support
With a proper API abstraction, we could explore integration with various technologies:
- Firecracker (firecracker-rs)
- LXD/LXC containers
- Docker/containerd
- Cloud provider native APIs (AWS, GCP, Azure)
- Lightweight VMM solutions
- Bare-metal support
Implementation Considerations
An abstract API could define interfaces for common operations like:
- VM creation, deletion, and state management
- Network configuration
- Snapshot operations
- Resource allocation
- Health checks
This would allow the core Malbox system to remain agnostic to the specific machinery technology being used.
Description
Currently, our machinery system uses hard-coded logic with Terraform for VM provisioning and management. It would be a good idea to create and expose a proper abstraction API for the machinery system, which would make the codebase more flexible and allow for alternative solutions to Terraform.
Potential Example Backends to Support
With a proper API abstraction, we could explore integration with various technologies:
Implementation Considerations
An abstract API could define interfaces for common operations like:
This would allow the core Malbox system to remain agnostic to the specific machinery technology being used.