You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All the sources are being composed according to the preferred hierarchy.
build:compose command
This command is backward-compatible with Cloud Docker 1.0, this means that all CLI options and Magento Cloud Docker configurations are preserved. On top of it, we added support of .magento.docker.yaml file.
The composition hierarchy is next (left to right priority):
CliSource has higher priority, so it's possible to change any configuration via CLI
ConfigSource has a higher priority than CloudSource. This means that Developers who want to apply custom local changes on top of .magento.app.yaml and .magento/services.yaml have such a possibility.
build:custom:compose future command
This command can be added in the future to specify what source you want to use. This may be useful for CI/CD infrastructure where you want to have full control over the Deployment environment specification.
This command will work using 1 Source - JsonSource which converts input string to universal representation.
Possible arguments:
config - A JSON string to represent the full configuration list.
The text was updated successfully, but these errors were encountered:
what possible list of sources for build:custom:compose? It cannot be all provided sources. So, just CloudSource or ConfigSource?
but, if we want to have separate command build:custom:compose which reads configs only from one file, then this file should not be the same as for build:compose, as for the second CLI command this file may contain only one config, when for the build:custom:compose this file should have all necessary configurations.
Since the introduction of
.magento.docker.yaml
file, there were added multiple sources to handle different approaches.Universal file introduction: #160
Sources overview
The Source is a PHP entity responsible for reading the configuration from different file sources.
SourceInterface
- the base interface for any source (https://github.com/magento/magento-cloud-docker/blob/develop/src/Config/Source/SourceInterface.php)BaseSource
- the base source which provide default Docker-specific configurations, likehost
, port`, etc (https://github.com/magento/magento-cloud-docker/blob/develop/src/Config/Source/BaseSource.php)CloudBaseSource
- the Cloud Base source. Includes declaration of required in most cases services likeVarnish
,Nginx
and default environment variablesCloudSource
- the Magento Cloud Source. In nutshell - a reader/processor for.magento.app.yaml
and.magento/services.yaml
files (https://github.com/magento/magento-cloud-docker/blob/develop/src/Config/Source/CloudBaseSource.php)CliSource
- the CLI Source. It reades and process the Symfony CLI input (https://github.com/magento/magento-cloud-docker/blob/develop/src/Config/Source/CliSource.php)ConfigSource
- the Config Source. A reader/processor for universal.magento.docker.yaml
file (https://github.com/magento/magento-cloud-docker/blob/develop/src/Config/Source/ConfigSource.php)Composition
All the sources are being composed according to the preferred hierarchy.
build:compose
commandThis command is backward-compatible with Cloud Docker
1.0
, this means that all CLI options and Magento Cloud Docker configurations are preserved. On top of it, we added support of.magento.docker.yaml
file.The composition hierarchy is next (left to right priority):
BaseSource -> CloudBaseSource -> CloudSource -> ConfigSource -> CliSource
This means next:
CliSource
has higher priority, so it's possible to change any configuration via CLIConfigSource
has a higher priority thanCloudSource
. This means that Developers who want to apply custom local changes on top of.magento.app.yaml
and.magento/services.yaml
have such a possibility.build:custom:compose
future commandThis command can be added in the future to specify what source you want to use. This may be useful for CI/CD infrastructure where you want to have full control over the Deployment environment specification.
This command will work using 1 Source -
JsonSource
which converts input string to universal representation.Possible arguments:
config
- A JSON string to represent the full configuration list.The text was updated successfully, but these errors were encountered: