Repository navigation
[GENESIS] updated architecture - #14
Merged
Merged
Conversation
- Implement user synchronization and credential management in user_test.go. - Refactor App struct to streamline configuration and runtime paths. - Enhance configuration loading to handle missing auth files gracefully. - Improve disk management functions for user and shared volumes. - Introduce tests for disk operations and user cleanup processes. - Build runtime images with embedded assets for improved deployment. - Create a manager server to handle user requests and configurations. - Embed static assets for the authentication server.
…ests - Added disk service tests to validate user preparation and lifecycle management. - Enhanced App struct to support automatic disk service management based on configuration. - Updated service and spec handling to incorporate disk service socket and auto-ensure logic. - Introduced new configuration options for disk service socket and auto-ensure behavior. - Refactored manager handler to ensure disk preparation during user runtime setup. - Added tests for auto-ensure functionality and configuration validation from environment variables.
- Improved the ensureContainer function to validate local settings before removing existing containers. - Added rollback mechanism for container creation failures to ensure resources are cleaned up properly. - Introduced runtimeLock to serialize runtime changes and allow cancellation of queued requests. - Enhanced error handling in service management to capture and report multiple errors during cleanup. - Implemented tests for container creation validation, rollback scenarios, and network allocation. - Updated network management to respect Docker's address ranges and prevent collisions. - Refactored session state management to handle out-of-order reports and maintain idle deadlines. - Added comprehensive tests for lifecycle management and network allocation to ensure robustness.
- Added default.env file containing default configuration settings for User, Auth, and Manager services. - Implemented InitFile function to create a private deployment configuration from embedded defaults. - Developed ParseEnv function to parse .env settings into a Config struct without modifying the process environment. - Created tests for configuration initialization, parsing, and validation to ensure correctness and robustness. - Updated validation logic to reference environment variable names consistently. - Refactored app configuration loading to read from .env instead of YAML. - Adjusted error messages to reflect new environment variable naming conventions.
- Update `.gitignore` to include `__pycache__/` and clarify ignored files. - Modify `README.md` to reflect changes in deployment storage. - Revise `USAGE.md` to document new configuration paths and migration steps. - Introduce `migrate_system_paths.py` script for migrating legacy deployments to new system paths. - Add tests for migration functionality in `test_migrate_system_paths.py`. - Refactor `main.go` to resolve configuration file paths correctly. - Update default environment configuration to use `/var/lib/linuxus` for persistent storage. - Implement `location.go` for managing configuration file resolution. - Ensure that the application uses the correct configuration paths regardless of executable location. - Enhance error handling and validation in configuration loading. - Add tests to verify configuration handling and migration logic.
- Added maintenance account checks to prevent operations on users under maintenance in cleanVolumesAll and cleanVolumeUser. - Enhanced ensureDiskAll and ensureDiskUser to skip users with maintenance status. - Introduced checkPendingRestore to validate restore images before cleanup. - Updated disk diagnostics to provide clearer error reporting. - Added runtime diagnostics to check disk service health and report status. - Implemented session state updates to reject delayed reports and future timestamps. - Improved error handling in account management and session synchronization. - Added tests for maintenance account behavior and session snapshot handling.
- Introduced `build_ctl.sh` to build a static Linux binary for the CLI and services. - Added `docker_reinstall.sh` for a comprehensive Docker reinstallation process, including stopping services, removing containers/images, and setting up repositories. - Created `linuxus-completion.bash` for command-line completion support for the `linuxusctl` command. - Implemented `migrate_system_paths.py` to facilitate migration from legacy deployment paths to system paths with symlink support. - Added unit tests in `test_migrate_system_paths.py` to validate migration functionality and error handling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 PR Type
📝 Overview
🔍 Details (optional)
🧪 How to Test (optional)
📸 Screenshots (optional, if applicable)
🔗 Related Issues
📋 Checklist
[TYPE](e.g.,[BUG] fix login error)💬 Additional Notes (optional)