-
Notifications
You must be signed in to change notification settings - Fork 60
Feature/interactive installer #191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
DavidLambauer
wants to merge
86
commits into
mage-os:release/3.x
Choose a base branch
from
DavidLambauer:feature/interactive-installer
base: release/3.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 77 commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
98fb521
feat: Add MageOS_Installer module with Stage 1 implementation
DavidLambauer 063410c
feat: Add Stage 2 - Redis, RabbitMQ, Logging & Sample Data
DavidLambauer 12c9379
feat: Add Stage 3 - Theme Installation with Hyva Support
DavidLambauer a2484a6
fix: Move installer to setup directory for pre-install availability
DavidLambauer da024a6
feat: Add retry logic for failed validations and connection tests
DavidLambauer 042cc94
refactor: Change password strength validation to informational only
DavidLambauer aa20357
feat: Add URL auto-correction with user confirmation
DavidLambauer 73aefea
feat: Add proper select lists for language, timezone, and currency
DavidLambauer 5197f90
feat: Make Hyva the default theme and add extensibility docs
DavidLambauer 6f2a1e5
feat: Add smart confirmation for auto-detected services
DavidLambauer 7c57030
refactor: Improve language/timezone/currency selection UX
DavidLambauer cdc921c
feat: Add visual database detection feedback
DavidLambauer 791fc30
security: Remove default admin username for better security
DavidLambauer f808018
feat: Add helpful descriptions to logging configuration options
DavidLambauer d9a6848
feat: Add pre-installation permission check with helpful instructions
DavidLambauer 9d2dd63
feat: Add resume capability for failed installations
DavidLambauer 6dff474
fix: Add proper search engine connection validation with retry
DavidLambauer 0ba6938
fix: Update Hyva installation to use correct credentials and install …
DavidLambauer 9c94bf4
fix: Match password validation with Magento setup:install requirements
DavidLambauer 7e16409
fix: Validate loaded config and re-prompt for invalid passwords
DavidLambauer f5bee56
fix: Validate search engine on resume to catch connection issues early
DavidLambauer de3638a
fix: Use correct parameters for OpenSearch vs Elasticsearch + add ver…
DavidLambauer 04bfa33
fix: Use Symfony's built-in verbosity instead of custom option
DavidLambauer b027a8c
feat: Add environment type selection and set MAGE_MODE accordingly
DavidLambauer 0fe2e23
feat: Migrate to Laravel Prompts for beautiful interactive UX (Part 1)
DavidLambauer d416135
feat: Migrate LoggingConfig to Laravel Prompts (Part 2)
DavidLambauer 60b7265
feat: Migrate BackendConfig to Laravel Prompts (Part 3)
DavidLambauer a3c0ffc
docs: Add Laravel Prompts migration status and guide
DavidLambauer f87d6b5
docs: Add completion status for hackathon deliverable
DavidLambauer d143d8e
feat: Migrate ThemeConfig to Laravel Prompts (Part 4)
DavidLambauer 7325cc0
docs: Add comprehensive hackathon summary
DavidLambauer 95dc3e0
feat: Migrate RabbitMQConfig to Laravel Prompts (Part 5)
DavidLambauer 8c422e5
feat: Migrate RedisConfig to Laravel Prompts (Part 6)
DavidLambauer 85670ed
docs: Add final comprehensive README
DavidLambauer 7a62bb0
feat: Migrate SearchEngineConfig to Laravel Prompts (Part 7)
DavidLambauer 767f640
feat: Complete Laravel Prompts migration - ALL 11 collectors! (Part 8)
DavidLambauer 1dac27d
feat: Add optional Cron and Email configuration (FINAL!)
DavidLambauer 7412115
fix: Remove undefined variable in ThemeInstaller
DavidLambauer 4b22c16
fix: Set Magento mode AFTER installation, not during
DavidLambauer 50e3f74
refactor: Add Value Objects for type-safe configuration (Stage 1)
DavidLambauer d950b46
refactor: Add InstallationContext for centralized config management (…
DavidLambauer d327200
refactor: Implement Stage pattern with navigation support (Stage 3)
DavidLambauer 1a67a7f
refactor: Create all 18 installation stages (Stage 3 complete)
DavidLambauer 759ff2f
refactor: Replace monolithic InstallCommand with StageNavigator
DavidLambauer b2e701a
refactor: Replace exec() with Symfony Process (Stage 5)
DavidLambauer 1f8527e
refactor: Consolidate password validation logic (Stage 8)
DavidLambauer 15e3eb8
feat: Add automatic progress indicators to all stages (Stage 4)
DavidLambauer dad1017
docs: Update IMPLEMENTATION_PLAN.md with completion status
DavidLambauer c64299d
docs: Add comprehensive refactoring summary
DavidLambauer 0ad810b
fix: Handle nested data structures in VO fromArray() methods
DavidLambauer bde18ae
docs: Mark refactoring as complete! 🎉
DavidLambauer a8cdb23
config: Wire up DI for refactored installer classes
DavidLambauer 6c8f40c
feat: Add Laminas Module.php for MageOS\Installer
DavidLambauer 26568f2
fix: Make EnvConfigWriter compatible with VO format
DavidLambauer 81a5e42
test: Add comprehensive test infrastructure for MageOS Installer
DavidLambauer c9a2394
test: Complete all 13 Value Object unit tests (172 tests, 364 asserti…
DavidLambauer 501cab3
test: Add InstallationContext unit tests (23 tests, 75 assertions)
DavidLambauer 58d963b
test: Add Phase 2 persistence layer tests (33 tests, 45 assertions)
DavidLambauer c8f7728
test: Add PasswordValidator and UrlValidator tests (44 tests, 80 asse…
DavidLambauer 207368e
test: Complete all 5 Validator tests (90 tests, 177 assertions)
DavidLambauer a3db33a
test: Add StageNavigator and StageResult tests (23 tests, 56 assertions)
DavidLambauer 853ce66
docs: Add comprehensive test coverage summary
DavidLambauer 1f5c577
test: Add ProcessRunner and Command executor tests (32 tests, 55 asse…
DavidLambauer f8c9156
test: Add Detector unit tests (19 tests, 41 assertions)
DavidLambauer 557cf82
docs: Update test summary to reflect 114.2% target achievement
DavidLambauer 19dffcf
fix: Add config save on failure and env.php/config.php backup
DavidLambauer bc06254
test: Add MagentoInstallationStage unit tests (4 tests)
DavidLambauer e0c9435
docs: Mark all bug fix stages as complete
DavidLambauer 500bee9
feat: Add production-safe env.php backup and auto database creation
DavidLambauer 9df31a0
feat: Add post-install configurers (theme, indexers, 2FA, admin session)
DavidLambauer dcb612d
chore: Add gitignore for local environment files
DavidLambauer 52d30cb
chore: Remove local environment files from git tracking
DavidLambauer 30f3f1c
chore: Remove internal implementation plan
DavidLambauer d01b6bc
chore: Remove Hyva dependencies from composer
DavidLambauer 837d16c
chore: Remove unnecessary dependencies and smoke test
DavidLambauer f28dc6c
docs: Add comprehensive setup module README and remove vfsstream
DavidLambauer cd73068
fix: Remove final/readonly classes for Magento coding standards
DavidLambauer ad24048
fix: Remove final keyword from all test classes
DavidLambauer fc87fa8
fix: Replace exec() with ProcessRunner and remove unused code
DavidLambauer 60c6b0a
fix: Add DI configuration for PostInstallConfigStage and HyvaInstaller
DavidLambauer 5fd6dcf
fix: Wire up new configurers in InstallCommand constructor
DavidLambauer 0894664
fix: Add Magento di.xml for installer dependency injection
DavidLambauer f97c7f8
fix: Configure InstallCommand in Laminas DI for auto-resolution
DavidLambauer 28afc94
fix: Add explicit DI parameters for InstallCommand configurers
DavidLambauer f36f340
fix: Address PR review feedback and resolve coding standard violations
DavidLambauer bfe8bc9
fix: Resolve line length violation in CommandLoader.php
DavidLambauer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -64,6 +64,7 @@ | |
| "laminas/laminas-stdlib": "^3.11", | ||
| "laminas/laminas-uri": "^2.9", | ||
| "laminas/laminas-validator": "^2.23", | ||
| "laravel/prompts": "^0.3.8", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you speak to the reasons and benefits of adding Laravel Prompts here, over Symfony Console? |
||
| "league/flysystem": "^3.0", | ||
| "league/flysystem-aws-s3-v3": "^3.0", | ||
| "magento/composer": "^1.10.1-beta1", | ||
|
|
@@ -349,7 +350,8 @@ | |
| "psr-4": { | ||
| "Magento\\Framework\\": "lib/internal/Magento/Framework/", | ||
| "Magento\\Setup\\": "setup/src/Magento/Setup/", | ||
| "Magento\\": "app/code/Magento/" | ||
| "Magento\\": "app/code/Magento/", | ||
| "MageOS\\Installer\\": "setup/src/MageOS/Installer/" | ||
| }, | ||
| "psr-0": { | ||
| "": [ | ||
|
|
@@ -373,7 +375,8 @@ | |
| "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/", | ||
| "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/", | ||
| "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/", | ||
| "Magento\\PhpStan\\": "dev/tests/static/framework/Magento/PhpStan/" | ||
| "Magento\\PhpStan\\": "dev/tests/static/framework/Magento/PhpStan/", | ||
| "MageOS\\Installer\\Test\\": "setup/tests/" | ||
| } | ||
| }, | ||
| "prefer-stable": true, | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| *.backup.* | ||
| .env |
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we put this file in
var/instead of root?