Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
98fb521
feat: Add MageOS_Installer module with Stage 1 implementation
DavidLambauer Dec 14, 2025
063410c
feat: Add Stage 2 - Redis, RabbitMQ, Logging & Sample Data
DavidLambauer Dec 14, 2025
12c9379
feat: Add Stage 3 - Theme Installation with Hyva Support
DavidLambauer Dec 14, 2025
a2484a6
fix: Move installer to setup directory for pre-install availability
DavidLambauer Dec 14, 2025
da024a6
feat: Add retry logic for failed validations and connection tests
DavidLambauer Dec 14, 2025
042cc94
refactor: Change password strength validation to informational only
DavidLambauer Dec 14, 2025
aa20357
feat: Add URL auto-correction with user confirmation
DavidLambauer Dec 14, 2025
73aefea
feat: Add proper select lists for language, timezone, and currency
DavidLambauer Dec 14, 2025
5197f90
feat: Make Hyva the default theme and add extensibility docs
DavidLambauer Dec 14, 2025
6f2a1e5
feat: Add smart confirmation for auto-detected services
DavidLambauer Dec 14, 2025
7c57030
refactor: Improve language/timezone/currency selection UX
DavidLambauer Dec 14, 2025
cdc921c
feat: Add visual database detection feedback
DavidLambauer Dec 14, 2025
791fc30
security: Remove default admin username for better security
DavidLambauer Dec 14, 2025
f808018
feat: Add helpful descriptions to logging configuration options
DavidLambauer Dec 14, 2025
d9a6848
feat: Add pre-installation permission check with helpful instructions
DavidLambauer Dec 14, 2025
9d2dd63
feat: Add resume capability for failed installations
DavidLambauer Dec 14, 2025
6dff474
fix: Add proper search engine connection validation with retry
DavidLambauer Dec 14, 2025
0ba6938
fix: Update Hyva installation to use correct credentials and install …
DavidLambauer Dec 14, 2025
9c94bf4
fix: Match password validation with Magento setup:install requirements
DavidLambauer Dec 14, 2025
7e16409
fix: Validate loaded config and re-prompt for invalid passwords
DavidLambauer Dec 14, 2025
f5bee56
fix: Validate search engine on resume to catch connection issues early
DavidLambauer Dec 14, 2025
de3638a
fix: Use correct parameters for OpenSearch vs Elasticsearch + add ver…
DavidLambauer Dec 14, 2025
04bfa33
fix: Use Symfony's built-in verbosity instead of custom option
DavidLambauer Dec 14, 2025
b027a8c
feat: Add environment type selection and set MAGE_MODE accordingly
DavidLambauer Dec 14, 2025
0fe2e23
feat: Migrate to Laravel Prompts for beautiful interactive UX (Part 1)
DavidLambauer Dec 14, 2025
d416135
feat: Migrate LoggingConfig to Laravel Prompts (Part 2)
DavidLambauer Dec 14, 2025
60b7265
feat: Migrate BackendConfig to Laravel Prompts (Part 3)
DavidLambauer Dec 14, 2025
a3c0ffc
docs: Add Laravel Prompts migration status and guide
DavidLambauer Dec 14, 2025
f87d6b5
docs: Add completion status for hackathon deliverable
DavidLambauer Dec 14, 2025
d143d8e
feat: Migrate ThemeConfig to Laravel Prompts (Part 4)
DavidLambauer Dec 14, 2025
7325cc0
docs: Add comprehensive hackathon summary
DavidLambauer Dec 14, 2025
95dc3e0
feat: Migrate RabbitMQConfig to Laravel Prompts (Part 5)
DavidLambauer Dec 14, 2025
8c422e5
feat: Migrate RedisConfig to Laravel Prompts (Part 6)
DavidLambauer Dec 14, 2025
85670ed
docs: Add final comprehensive README
DavidLambauer Dec 14, 2025
7a62bb0
feat: Migrate SearchEngineConfig to Laravel Prompts (Part 7)
DavidLambauer Dec 14, 2025
767f640
feat: Complete Laravel Prompts migration - ALL 11 collectors! (Part 8)
DavidLambauer Dec 14, 2025
1dac27d
feat: Add optional Cron and Email configuration (FINAL!)
DavidLambauer Dec 14, 2025
7412115
fix: Remove undefined variable in ThemeInstaller
DavidLambauer Dec 14, 2025
4b22c16
fix: Set Magento mode AFTER installation, not during
DavidLambauer Dec 14, 2025
50e3f74
refactor: Add Value Objects for type-safe configuration (Stage 1)
DavidLambauer Dec 14, 2025
d950b46
refactor: Add InstallationContext for centralized config management (…
DavidLambauer Dec 14, 2025
d327200
refactor: Implement Stage pattern with navigation support (Stage 3)
DavidLambauer Dec 14, 2025
1a67a7f
refactor: Create all 18 installation stages (Stage 3 complete)
DavidLambauer Dec 14, 2025
759ff2f
refactor: Replace monolithic InstallCommand with StageNavigator
DavidLambauer Dec 14, 2025
b2e701a
refactor: Replace exec() with Symfony Process (Stage 5)
DavidLambauer Dec 14, 2025
1f8527e
refactor: Consolidate password validation logic (Stage 8)
DavidLambauer Dec 14, 2025
15e3eb8
feat: Add automatic progress indicators to all stages (Stage 4)
DavidLambauer Dec 14, 2025
dad1017
docs: Update IMPLEMENTATION_PLAN.md with completion status
DavidLambauer Dec 14, 2025
c64299d
docs: Add comprehensive refactoring summary
DavidLambauer Dec 14, 2025
0ad810b
fix: Handle nested data structures in VO fromArray() methods
DavidLambauer Dec 14, 2025
bde18ae
docs: Mark refactoring as complete! 🎉
DavidLambauer Dec 14, 2025
a8cdb23
config: Wire up DI for refactored installer classes
DavidLambauer Dec 14, 2025
6c8f40c
feat: Add Laminas Module.php for MageOS\Installer
DavidLambauer Dec 14, 2025
26568f2
fix: Make EnvConfigWriter compatible with VO format
DavidLambauer Dec 14, 2025
81a5e42
test: Add comprehensive test infrastructure for MageOS Installer
DavidLambauer Dec 14, 2025
c9a2394
test: Complete all 13 Value Object unit tests (172 tests, 364 asserti…
DavidLambauer Dec 14, 2025
501cab3
test: Add InstallationContext unit tests (23 tests, 75 assertions)
DavidLambauer Dec 14, 2025
58d963b
test: Add Phase 2 persistence layer tests (33 tests, 45 assertions)
DavidLambauer Dec 14, 2025
c8f7728
test: Add PasswordValidator and UrlValidator tests (44 tests, 80 asse…
DavidLambauer Dec 14, 2025
207368e
test: Complete all 5 Validator tests (90 tests, 177 assertions)
DavidLambauer Dec 14, 2025
a3db33a
test: Add StageNavigator and StageResult tests (23 tests, 56 assertions)
DavidLambauer Dec 14, 2025
853ce66
docs: Add comprehensive test coverage summary
DavidLambauer Dec 14, 2025
1f5c577
test: Add ProcessRunner and Command executor tests (32 tests, 55 asse…
DavidLambauer Dec 14, 2025
f8c9156
test: Add Detector unit tests (19 tests, 41 assertions)
DavidLambauer Dec 14, 2025
557cf82
docs: Update test summary to reflect 114.2% target achievement
DavidLambauer Dec 14, 2025
19dffcf
fix: Add config save on failure and env.php/config.php backup
DavidLambauer Dec 14, 2025
bc06254
test: Add MagentoInstallationStage unit tests (4 tests)
DavidLambauer Dec 14, 2025
e0c9435
docs: Mark all bug fix stages as complete
DavidLambauer Dec 14, 2025
500bee9
feat: Add production-safe env.php backup and auto database creation
DavidLambauer Dec 14, 2025
9df31a0
feat: Add post-install configurers (theme, indexers, 2FA, admin session)
DavidLambauer Dec 14, 2025
dcb612d
chore: Add gitignore for local environment files
DavidLambauer Dec 14, 2025
52d30cb
chore: Remove local environment files from git tracking
DavidLambauer Dec 14, 2025
30f3f1c
chore: Remove internal implementation plan
DavidLambauer Dec 14, 2025
d01b6bc
chore: Remove Hyva dependencies from composer
DavidLambauer Dec 14, 2025
837d16c
chore: Remove unnecessary dependencies and smoke test
DavidLambauer Dec 14, 2025
f28dc6c
docs: Add comprehensive setup module README and remove vfsstream
DavidLambauer Dec 14, 2025
cd73068
fix: Remove final/readonly classes for Magento coding standards
DavidLambauer Dec 14, 2025
ad24048
fix: Remove final keyword from all test classes
DavidLambauer Dec 15, 2025
fc87fa8
fix: Replace exec() with ProcessRunner and remove unused code
DavidLambauer Dec 15, 2025
60c6b0a
fix: Add DI configuration for PostInstallConfigStage and HyvaInstaller
DavidLambauer Dec 15, 2025
5fd6dcf
fix: Wire up new configurers in InstallCommand constructor
DavidLambauer Dec 15, 2025
0894664
fix: Add Magento di.xml for installer dependency injection
DavidLambauer Dec 15, 2025
f97c7f8
fix: Configure InstallCommand in Laminas DI for auto-resolution
DavidLambauer Dec 15, 2025
28afc94
fix: Add explicit DI parameters for InstallCommand configurers
DavidLambauer Dec 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ atlassian*
/app/config_sandbox
/app/etc/config.php
/app/etc/env.php
/.mageos-install-config.json
/app/code/Magento/TestModule*
/lib/internal/flex/uploader/.actionScriptProperties
/lib/internal/flex/uploader/.flexProperties
Expand Down
7 changes: 5 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
"laminas/laminas-stdlib": "^3.11",
"laminas/laminas-uri": "^2.9",
"laminas/laminas-validator": "^2.23",
"laravel/prompts": "^0.3.8",
"league/flysystem": "^3.0",
"league/flysystem-aws-s3-v3": "^3.0",
"magento/composer": "^1.10.1-beta1",
Expand Down Expand Up @@ -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": {
"": [
Expand All @@ -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,
Expand Down
113 changes: 112 additions & 1 deletion composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions setup/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.backup.*
.env
Loading
Loading