Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(ongoing): overhaul vm management (#95)
* refactor!: begin architectural overhaul by removing legacy components - Comment out orchestrator and supervisor components pending reimplementation - Rename monoagent to monopacks for upcoming changes - Add architecture documentation outlining the new vision - Remove old validation code (to be replaced) - Begin CLI interface restructuring - Update dependencies for new architecture - Prepare groundwork for new VM implementation This is the first step in a multi-phase refactor that will: - Replace the orchestration layer with a more robust implementation - Introduce a cleaner VM management approach - Improve overall system architecture BREAKING CHANGE: First phase of architectural overhaul - removing legacy orchestration code * chore: Enhance project structure and configuration management - Updated `.gitignore` to include new configuration files: `monocore.yaml` and `.menv`. - Refactored `Cargo.toml` to remove `lazy_static` and adjust `procspawn` settings. - Introduced integration test target in `Makefile` for better testing capabilities. - Added integration test setup in `monocore/Cargo.toml` for CLI initialization. - Removed outdated example files to streamline the project. - Updated error handling in `monocore/lib/error.rs` to reflect new database operations. This is still a work in progress and it has not reached feature-parity with old impl * refactor: update CLI arguments and configuration structures - Removed group volume and environment variables from CLI subcommands. - Updated `Install` and `Pull` commands to use boolean flags for image and image group options. - Introduced new `Auto` command for automatic environment creation. - Enhanced `Meta` struct with additional fields for description, homepage, repository, readme, tags, and icon. - Refactored `Sandbox` and `GroupConfig` structures to improve network and proxy configurations. - Renamed `GroupNetworkReach` to `SandboxNetworkReach` for clarity and consistency. These changes streamline the CLI interface and improve configuration management, setting the stage for future enhancements. * chore: update dependencies and refine build process - Upgraded `ipnetwork` dependency from version 0.20.0 to 0.21.0 in `Cargo.toml` and `Cargo.lock`. - Added `regex` dependency in `Cargo.toml`. - Enhanced `Makefile` to improve rpath settings for dynamic linking on macOS and Linux. - Removed outdated integration test Makefile and streamlined test setup. - Updated `README.md` to clarify development prerequisites and build instructions. These changes improve dependency management and streamline the build process for better development experience. * feat: add uninstall target to Makefile and update README for improved user guidance - Introduced an `uninstall` target in the Makefile to facilitate the removal of installed binaries and libraries. - Updated the README.md to include instructions for the new uninstall command and clarified the build and installation process. - Refactored the integration test setup by renaming the test file for better organization. - Removed outdated comments and code in the test file to streamline the testing process. These changes enhance the usability of the project by providing clear uninstall instructions and improving the overall structure of the documentation and tests. * docs: update README * refactor: reorganize SQL table creation and update import order - Updated the import order in `env.rs` for better readability and consistency. * feat(monofs): add rename operation for filesystem entities Add rename (move) functionality to the Dir struct, allowing files and directories to be moved within the filesystem. The implementation includes: - New `rename` method to move entities between paths - Comprehensive test coverage for various rename scenarios - Error handling for existing paths and invalid operations - Preservation of file content and metadata during moves - New `PathExists` error variant This enhances the filesystem API by providing a crucial operation for file management while maintaining data integrity during moves. * refactor(monofs): reorganize filesystem modules and enhance metadata - Move dir.rs and file.rs out of subdirectories to top level - Add extended attributes support to Metadata with async get/set methods - Introduce MetadataSerializable for better serialization control - Remove resolvable.rs module as its functionality is now integrated - Update SyncType enum to include MerkleCRDT instead of CRDT - Remove clippy::module_inception allow attributes - Add comprehensive documentation and tests for metadata operations The metadata changes improve extensibility while the module reorganization simplifies the codebase structure. Extended attributes now properly support async operations and persistence. * ci: temporarily disable GitHub Actions workflows - Comment out release.yml workflow for package publishing - Comment out tests_and_checks.yml workflow for testing and linting - Preserve workflow configurations for future re-enablement These workflows are temporarily disabled. * docs: update project status warning Replace detailed project description with warning about major refactoring. API is currently unstable and subject to breaking changes.
- Loading branch information