Feat/redesign#7
Draft
saiqulhaq wants to merge 29 commits into
Draft
Conversation
Updates the CLI to use a single `exec` command for running arbitrary commands, simplifying the user interface. This change includes removing the `init`, `update`, `provision`, `run`, and `ls` commands in favor of the `exec` command. Also it updates documentation and example code to reflect the new command structure.
Allows users to specify a Ruby version for commands, creating isolated environments for each version. This ensures gem compatibility and prevents conflicts when working with multiple Ruby versions. Also, it introduces version-specific docker-compose files and bundle cache volumes.
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Files
|
…improvements - Introduced Validators module for centralized validation logic. - Updated ConfigManager and StateManager to utilize new validation methods. - Improved error handling with custom ValidationError class. - Added comprehensive tests for validation logic.
- Added ContainerLifecycle class to manage the lifecycle of Docker containers. - Implemented methods for starting, stopping, restarting, and removing containers. - Integrated health checks to ensure containers are running correctly. - Created DockerCommand class for executing Docker commands with error handling and logging. - Added tests for ContainerLifecycle and DockerCommand to ensure functionality and reliability. - Implemented caching for health checks to optimize performance. - Enhanced logging for better traceability of operations.
…cker containers with health checks and logging
…nt and auto-provisioning features
…rs tasks - Created a new spec file for GemDock::ContainerInspector with comprehensive tests for container inspection, including various states (running, stopped, unhealthy, not provisioned) and resource checks. - Updated tasks for persistent containers to include RSpec testing requirements for CLI commands and Docker Compose integration. - Removed outdated task details and streamlined the task list for clarity and focus on implementation.
…ng, setting, and resetting configuration values
… CLI and auto-provisioner
- Introduced `GemDock::ErrorHandler` module to manage error formatting and suggestions. - Created a base `GemDock::Error` class with support for suggestions and detailed messages. - Implemented specific error classes for various scenarios, including: - `ContainerNotFoundError` - `ContainerNotRunningError` - `DockerNotAvailableError` - `InvalidConfigError` - `ConfigKeyNotFoundError` - `InvalidRubyVersionError` - `UnsupportedRubyVersionError` - `MissingCommandError` - `MissingArgumentError` - `StateFileCorruptedError` - `ConfigFileCorruptedError` - `InsufficientResourcesError` - Added detailed suggestions for each error type to guide users in resolving issues. - Developed RSpec tests for error handling and custom error classes to ensure reliability and coverage.
…recovery integration tests
…; refactor logging in various components
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.
No description provided.