Commit Graph
38 Commits
Author SHA1 Message Date
kstyagi da84e93a6e feat: add tool-related API endpoints to the server tests 2026-09-25 23:05:03 +05:30
kstyagi 2d04430627 feat: add unit tests for tool API endpoints with management token validation 2026-09-25 23:03:54 +05:30
kstyagi 0b22c81e6c feat: add tool catalog and installation endpoints with models for tool management 2026-09-25 23:03:25 +05:30
kstyagi e1b934e35e Implement guest tool installation and management system
- Added `guest_tools.py` for standalone tool installer functionality.
- Introduced `ToolJobStore` in `tool_store.py` to manage per-VM tool job records.
- Created `ToolService` in `tools.py` for background installation workers using the guest execution channel.
- Enhanced `LifecycleService` in `lifecycle.py` to support tool installation queuing and preparation.
- Updated `guest_exec.py` to handle connection shutdown gracefully.
- Added validation and normalization functions for tool specifications.
- Implemented logging and error handling for tool installation processes.
- Ensured compatibility with Ubuntu 22.04 and ARM64/x86_64 architectures.
2026-09-25 23:02:47 +05:30
kstyagi 645bf6321a feat: add session rename and delete functionality with validation
- Introduced `SessionRename` model for renaming sessions with validation on name length and content.
- Implemented `rename_session` endpoint in `session_routes.py` to handle session renaming.
- Added `delete_session` endpoint to remove sessions, ensuring proper cleanup of associated data.
- Enhanced `SessionStore` with `rename` and `delete` methods, including validation and transaction management.
- Updated `SessionManager` to manage session renaming and deletion, ensuring live terminal state is preserved.
- Added tests for renaming and deleting sessions, ensuring proper functionality and validation.
- Introduced a new `tool_catalog.py` for managing guest tool selections and installation recipes.
2026-09-25 22:59:32 +05:30
kstyagi a4e9cefbc3 feat: enhance guest agent setup and terminal support for microVMs 2026-09-25 21:15:53 +05:30
kstyagi 6573f483e6 feat: update terminal support messaging and enhance guest agent provisioning logic 2026-09-25 21:12:21 +05:30
kstyagi d870c98bfa feat: add terminal session management with HTTP/WebSocket routes and session history 2026-09-25 20:31:20 +05:30
kstyagi caaea12163 feat: implement session management and terminal handling with UI updates and backend support 2026-09-25 20:22:56 +05:30
kstyagi d202f9e2f8 feat: add session management and terminal handling with UI updates and tests 2026-09-25 20:06:44 +05:30
kstyagi 6aa70133c5 Refactor code structure for improved readability and maintainability 2026-09-25 19:58:49 +05:30
kstyagi 73d85fefe4 feat: enhance terminal session handling with output acknowledgment and error handling 2026-09-25 19:54:07 +05:30
kstyagi 9541e29b76 feat: implement session management and terminal handling for VM sessions 2026-09-25 19:52:26 +05:30
kstyagi 3b94ac1b48 feat: add terminal support for guest execution agent and enhance lifecycle management 2026-09-25 19:51:35 +05:30
kstyagi b0bf99a6ee feat: Add guest execution agent and vsock support
- Introduced a standalone guest execution agent to facilitate command execution within the guest VM over Firecracker's vsock.
- Enhanced FirecrackerClient to support vsock configuration, validating guest CID and UDS path.
- Updated configuration to include vsock settings by default.
- Refactored FirecrackerProcessManager to manage runtime sockets more effectively.
- Implemented guest agent installation and provisioning in the image store.
- Added API endpoints for executing commands in the VM and installing the guest agent.
- Improved error handling for guest execution failures and agent availability.
2026-09-25 17:39:06 +05:30
kstyagi dca7f78dae feat: introduce Nest workspace for local Firecracker management
- Added a new server module for the Nest workspace, integrating with UVM's API.
- Updated project description to reflect the new Nest functionality.
- Created tests for the Nest server and CLI, ensuring proper functionality and error handling.
- Refactored existing UVM server code to separate Nest and UVM functionalities.
- Removed the old UVM dashboard assets package as it is now part of the Nest workspace.
- Enhanced error messages for clarity regarding server shutdown commands.
2026-09-25 13:45:57 +05:30
kstyagi 660ba9efee feat: enhance guest network configuration and recovery process for UVM 2026-09-23 08:20:35 +05:30
kstyagi dca3cbde2f feat: add host-backed entropy device support and update kernel configuration 2026-09-23 07:00:22 +05:30
kstyagi eb6119c797 feat: add graceful shutdown endpoint for UVM API server and update documentation 2026-09-23 06:30:58 +05:30
kstyagi 0f72ac693a fix: correct formatting and improve clarity in documentation and test descriptions 2026-09-23 06:25:35 +05:30
kstyagi ed9c5306af feat: enhance networking capabilities with improved egress handling and automatic host sharing rules 2026-09-23 06:23:49 +05:30
kstyagi 534a78f2a9 feat: enhance network management and lifecycle handling with improved egress setup and validation 2026-09-23 06:23:36 +05:30
kstyagi bd92573158 feat: enhance Ubuntu rootfs build process with improved logging and error handling 2026-09-22 09:30:55 +05:30
kstyagi 1d3644ab7c feat: update UVM installation and usage documentation; enhance image handling tests 2026-09-22 00:33:34 +05:30
kstyagi 4bf4c0853c Enhance UVM installation and configuration for Ubuntu 22.04 root filesystem
- Update README and USAGE documentation to reflect changes in rootfs handling, including the default local build from Ubuntu 22.04 packages.
- Modify the installer to support building the rootfs locally with authenticated packages and to require SHA-256 checksums for prebuilt images.
- Implement checks for setuid permissions on sudo and update the provisioning logic for guest users to ensure proper sudo access.
- Adjust tests to validate the new rootfs building process and ensure that existing functionality is preserved.
- Refactor code to improve clarity and maintainability, including the introduction of constants for Ubuntu release and guest packages.
2026-09-22 00:33:05 +05:30
kstyagi 71425a98e3 feat: enhance user account management during VM creation with automatic user creation and metadata preservation 2026-09-22 00:07:37 +05:30
kstyagi c75c7d9baf feat: enhance known_hosts management with deletion cleanup and SSH cache handling 2026-09-21 21:04:41 +05:30
kstyagi 871afcf454 feat: add tests for known hosts management and enhance validation in known_hosts.py 2026-09-21 20:46:34 +05:30
kstyagi 4a46685a4c feat: implement resource resizing for VMs with storage management
- Added KnownHostsManager to handle cleanup of SSH known_hosts entries upon VM deletion.
- Introduced disk_size_bytes method in ImageStore to read logical disk capacity.
- Enhanced LifecycleService to manage VM resource resizing, including CPU, RAM, and storage.
- Updated application configuration to support known_hosts_files for SSH management.
- Modified dashboard to include resource resizing options in the UI.
- Improved error handling and validation for resource inputs in the dashboard.
- Removed obsolete .pyc files from the repository.
2026-09-21 20:37:52 +05:30
kstyagi fb80ce7c8a feat: Add storage management for VM creation and resizing
- Introduced storage parameter in VmCreateRequest and VmResizeRequest models.
- Implemented storage validation to ensure minimum and maximum limits.
- Enhanced CLI to support storage options during VM creation and resizing.
- Updated lifecycle management to handle pending resize operations for VM resources.
- Added methods for resizing VM disks and validating storage capacity.
- Updated API endpoints to accommodate new storage functionality.
- Refactored related validation and configuration logic to support storage management.
2026-09-21 19:16:33 +05:30
kstyagi 781ee753ec Refactor code structure for improved readability and maintainability 2026-09-20 09:08:45 +05:30
kstyagi b3b1b527e1 feat: Implement UVM Dashboard with frontend and backend integration
- Added dashboard.js for frontend functionality, including VM management and system health monitoring.
- Created dashboard route to serve the dashboard HTML.
- Introduced diagnostics route for token-protected host diagnostics.
- Enhanced VMs router with bulk actions, VM log retrieval, and port management.
- Updated lifecycle service to read VM log tails with truncation handling.
- Integrated static file serving for dashboard assets in the FastAPI server.
- Redirect root URL to the dashboard for improved user experience.
2026-09-19 10:50:29 +05:30
kstyagi 3d7af4adb8 Enhance documentation and validation for VM lifecycle and network management; add tests for legacy cleanup and address validation. 2026-09-09 19:21:00 +05:30
kstyagi ee26962902 Refactor documentation structure and improve validation checks; update VM state handling and error management. 2026-09-09 17:47:50 +05:30
kstyagi d8a25209b9 Refactor VM lifecycle management and enhance validation
- Introduced a new method `installed_kernel` in `ImageStore` to handle kernel verification and checksum validation.
- Updated `Installer` to include additional packages: `nftables` and `conntrack`.
- Refined `LifecycleService` to improve error handling and state management during VM creation, starting, stopping, and deletion.
- Enhanced port management with new methods for setting and syncing ports, including validation for port rules.
- Improved error handling in `StateStore` to raise specific `NotFoundError` and `ConflictError` exceptions.
- Updated network management to ensure proper TAP device handling and firewall integration.
- Enhanced API responses in `vms.py` to include policy status for better client-side handling.
- Added validation for VM names and ports in `validation.py` to enforce stricter rules and prevent conflicts.
2026-09-09 17:27:50 +05:30
kstyagi 4ce14c3378 Improve security and error handling for VM state and guest file operations; clarify permissions requirements in documentation. 2026-09-04 21:51:04 +00:00
kstyagi@brahmai.in a8dbc704e9 Enhance security by ensuring unique SSH host keys for VMs and protecting registry credentials. Update documentation to reflect changes in SSH key management and improve state file permissions. 2026-09-04 21:31:54 +00:00
its.kstyagi@gmail.com 1022f24c34 __init__ 2026-09-04 20:56:18 +00:00