IBX-10763: Added configuration templates and setup command #1
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.
Description:
Ibexa Cloud Upsun Setup
This document explains how the
ibexa:cloud:setupconsole command installs the Upsun configuration that ships with this package.Command Overview
The setup command lives in
src/lib/Command/IbexaSetupCommand.phpand is exposed asibexa:cloud:setup. Run it from your Ibexa project root via the Symfony console:Passing
--upsuntells the command to copy the predefined Upsun configuration into your project. When the option is omitted the command exits immediately with a warning, leaving your filesystem untouched.How Product Detection Works
IbexaProductVersion::getInstalledProduct()inspects the installed Composer packages to determine which Ibexa product edition you have. It matches the first package in the ordered list below, giving higher-tier products priority:ibexa/commerceibexa/experienceibexa/headlessibexa/ossThe command then uses that product name to decide which resource directories it should read from.
File Copy Strategy
All Upsun templates are stored in
resources/upsun. The structure is split between common assets and product-specific assets organised by version:resources/upsun/common/<version>– Files shared by every product.resources/upsun/ibexa-oss/<version>– Assets specific to Ibexa OSS.resources/upsun/ibexa-headless/<version>– Assets specific to Ibexa Headless (plus everything from OSS).resources/upsun/ibexa-experience/<version>– Assets specific to Ibexa Experience (plus Headless and OSS).resources/upsun/ibexa-commerce/<version>– Assets specific to Ibexa Commerce (plus the Experience stack).When the command runs it:
dev-masteror3.3).common/<version>directory into the project, overwriting existing files when necessary and logging the action.At the time of writing the default template set contains:
resources/upsun/common/5.0/.nvmrcresources/upsun/ibexa-headless/5.0/.platform.app.yamlresources/upsun/ibexa-oss/5.0/.platform.app.yamlAdditional product directories (for example
ibexa-experienceoribexa-commerce) will be processed automatically as soon as matching templates appear in the tree.For QA:
Documentation: