commits
feat: add default registry prefix to image repository in push and pull functions
feat: implement HTTP API with images, machines, and volumes management
feat: implement volume management with create, list, inspect, and remove functionalities
- Introduced IMAGE_DIR constant for image storage path.
- Implemented image database schema and migration logic.
- Created image management functions: listImages, getImage, saveImage, deleteImage.
- Added ORAS binary setup and image push/pull functionality.
- Developed subcommands for image operations: pull, push, tag, and remove images.
- Enhanced error handling for image operations.
- Updated utility functions for image validation and size formatting.
Add VM configuration management and improve ISO handling
- Introduced a new config module for managing VM configurations.
- Added functionality to initialize and parse VM configuration files.
- Enhanced ISO URL validation and handling in the main command logic.
- Updated constants to include the configuration file name.
- Refactored utility functions for better modularity and export.
- Updated .gitignore to include vmconfig.toml.
Refactor subcommands to use Effect for error handling and asynchronous operations
- Updated `restart.ts` to utilize Effect for managing virtual machine state and process control, improving error handling with tagged errors.
- Refactored `rm.ts` to implement Effect for finding and removing virtual machines, enhancing error management.
- Modified `start.ts` to leverage Effect for starting virtual machines, including support for detached and interactive modes, with improved error handling.
- Enhanced `stop.ts` to use Effect for stopping virtual machines, incorporating detailed error handling for various failure scenarios.
- Refactored utility functions in `utils.ts` to utilize Effect for asynchronous operations and error handling, including disk image management and command execution.
Allow user to override VM configuration options for CPU, memory, disk format, and port forwarding
Refactor disk size checks to use EMPTY_DISK_THRESHOLD_KB constant for consistency
- Introduced IMAGE_DIR constant for image storage path.
- Implemented image database schema and migration logic.
- Created image management functions: listImages, getImage, saveImage, deleteImage.
- Added ORAS binary setup and image push/pull functionality.
- Developed subcommands for image operations: pull, push, tag, and remove images.
- Enhanced error handling for image operations.
- Updated utility functions for image validation and size formatting.
- Introduced a new config module for managing VM configurations.
- Added functionality to initialize and parse VM configuration files.
- Enhanced ISO URL validation and handling in the main command logic.
- Updated constants to include the configuration file name.
- Refactored utility functions for better modularity and export.
- Updated .gitignore to include vmconfig.toml.
- Updated `restart.ts` to utilize Effect for managing virtual machine state and process control, improving error handling with tagged errors.
- Refactored `rm.ts` to implement Effect for finding and removing virtual machines, enhancing error management.
- Modified `start.ts` to leverage Effect for starting virtual machines, including support for detached and interactive modes, with improved error handling.
- Enhanced `stop.ts` to use Effect for stopping virtual machines, incorporating detailed error handling for various failure scenarios.
- Refactored utility functions in `utils.ts` to utilize Effect for asynchronous operations and error handling, including disk image management and command execution.