services.yaml file defines the services supported and used by Magento Commerce Cloud, such as MySQL, Redis, and ElasticSearch. You do not need to subscribe to external service providers. This file is in the
.magento directory of your project.
The deploy script uses the configuration files in the
.magento directory to provision the environment with the configured services. A service becomes available to your application if it is included in the
relationships property of the
.magento.app.yaml file. The
services.yaml file contains the type and disk values. Service type defines the service name and version. Changing a service configuration causes a deployment to provision the environment with the updated services.
This affects the following environments:
- All Starter environments including Production
- Pro Integration environments
For Pro, you must enter a Support ticket to install or update services in the Staging and Production environments. Indicate the service changes needed and include your updated
services.yaml files in the ticket.
Default and supported services
We support and deploy the following services:
You can view default versions and disk values in the the current, default
services.yaml file. The following sample shows the
elasticsearch services defined in the
services.yaml configuration file:
1 2 3 4 5 6 7 8 9 10 mysql: type: mysql:<version> disk: 2048 redis: type: redis:<version> elasticsearch: type: elasticsearch:<version> disk: 1024
You must provide the type values: service name and version. If the service uses persistent storage, then you must provide a disk value. Use the following format:
1 2 3 <name>: type: <name>:<version> disk: <value-MB>
name value identifies the service in the project. You can only use lower case alphanumeric characters:
9, such as
This name value is used in the
relationships property of the
.magento.app.yaml configuration file:
1 2 relationships: redis: "<name>:redis"
You can name multiple instances of each service type. For example, we could use multiple Redis instances—one for session and one for cache.
1 2 3 4 5 redis: type: redis:<version> redis2: type: redis:<version>
Renaming a service in the
services.yaml file permanently removes the following:
- The existing service before creating a new service with the new name you specify.
- All existing data for the service is removed. We strongly recommend you snapshot your environment before you change the name of an existing service.
type value specifies the service name and version. For example:
1 2 mysql: type: mysql:10.2
disk value specifies the size of the persistent disk storage (in MB) to allocate to the service. Services that use persistent storage, such as MySQL, must provide a disk value. Services that use memory instead of persistent storage, such as Redis, do not require a disk value.
1 2 3 mysql: type: mysql:10.2 disk: 2048
The current default storage amount per project is 5GB, or 5120MB. You can distribute this amount between your application and each of its services.
In Magento Commerce Cloud projects, service relationships configured in the
.magento.app.yaml file determine which services are available to your application.
You can retrieve the configuration data for all service relationships from the
$MAGENTO_CLOUD_RELATIONSHIPS environment variable. The configuration data includes service name, type, and version along with any required connection details such as port number and login credentials.
To verify relationships in local environment:
In your local environment, show the relationships for the active environment.
typefrom the response. The response provides connection information, such as the IP address and port number.
Abbreviated sample response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
redis: - ... type: 'redis:3.2' port: 6379 elasticsearch: - ... type: 'elasticsearch:6.5' port: 9200 database: - ... type: 'mysql:10.0' port: 3306
To verify relationships in remote environments:
Use SSH to log in to the remote environment.
List the relationships configuration data for all services configured in the environment.
echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
php -r 'print_r(json_decode(base64_decode($_ENV["MAGENTO_CLOUD_RELATIONSHIPS"])));'
typefrom the response. The response provides connection information, such as the IP address and port number and any required username and password credentials.
The following table lists the services used in Magento Commerce Cloud and their version compatibility with the Magento Cloud template.
|Service||Magento 2.3||Magento 2.2|
||Magento 2.3.1 and later—1.7, 2.4, 5.2, 6.5
Magento 2.3.0—1.7, 2.4, 5.2
|Magento versions 2.2.8 and later—1.7, 2.4, 5.2, 6.5
Magento 2.2.0 to 2.2.7—1.7, 2.4, 5.2
||10.0 to 10.2||10.0 to 10.2|
||6, 8, 10, 11||6, 8, 10, 11|
||Magento 2.3.3 and later—7.1, 7.2, 7.3
Magento 2.3.0 to 2.3.2—7.1, 7.2
|Magento 2.2.10 and later—7.1, 7.2
Magento 2.2.5 to 2.2.9—7.0, 7.1
Magento 2.2.4 and earlier—7.0.2, 7.0.4, ~7.0.6, 7.1
Note: Beginning with ece-tools v2002.1.0, you must use PHP version 7.1.3 or later for both Magento 2.2 and 2.3.
||3.5, 3.7, 3.8||3.5|
||3.2, 4.0, 5.0||3.2, 4.0, 5.0|
||Magento 2.3.3 and later—4.0, 5.0, 6.2
Magento 2.3.0 to 2.3.2—4.0, 5.0