The modules section of the deployment descriptor lists the deployable parts contained in the MTA deployment archive.
The following elements are mandatory:
-
name- must be unique within the MTA it identifies -
type- defines which deployment mechanism to be used for this module
Optional module attributes include:
-
path- the file-system path relative to the root of the MTA directory. The content of the file is used to create or update the CF app or content, depending on the module target. Thepathis used only during MTA build. In an already built MTA archive (MTAR), path is ignored and only corresponding entry inMANIFEST.MFfor the module is processed.The path is applicable only when MTA is assembled based on deployment descriptor (mtad.yaml), and not on development descriptor (mta.yaml)
-
description- non-translatable, free-text string; the string is not meant to be presented on application user interfaces (UI) -
properties- a structured set of name-value pairs; if a module, which requires the resource, represents a CF application, the resource properties are injected into the environment of the application -
parameters- reserved variables that affect the behavior of the MTA-aware tools, such as the deployer -
deployed-after- the attribute is used to specify the order in which modules should be processed. Its value is a list comprised of the names of other modules within the same MTA. When this attribute is assigned to a module, it indicates that the module should be processed after the listed modules have been processed.When using the
deployed-afterparameter in Blue-Green Deployment of Multitarget Applications, keep in mind that it cannot be used to alter the deployment order of the modules even though its name suggests otherwise. Instead, it can be used to specify the following:- In the first phase of the blue-green deployment, the
deployed-afterattribute is used to determine the order in which all idle applications are created. - In the final phase of the blue-green deployment, the
deployed-afterattribute is used to determine the order in which all idle applications are restarted. - It does not affect the testing phase, where both the live and idle versions of the applications are running in parallel.
When
bg-dependency-aware-stop-orderis enabled, thedeployed-afterattribute is used to determine the order in which all idle applications are restarted, helping prevent transient failures caused by dependencies being temporarily unavailable. For more information onbg-dependency-aware-stop-order, see the Top-Level Parameters table in Parameters and Properties. - In the first phase of the blue-green deployment, the
-
requires- specifies the names ofrequiressections provided inresourcethat have been declared for the same MTA. Tools check if all required names are provided within the MTA. -
provides- specifies the names ofprovidessections, each containing configuration data; the data provided can berequiredby othermodulesin the same MTA
Modules can be deployed in parallel. See Parallel Module Deployment.
Modify the following MTA module types by providing specific properties or parameters in the MTA deployment descriptor (mtad.yaml).
MTA Default Modules Types
|
Module Type |
Default Parameter Values and Description |
Module Properties |
Result |
|---|---|---|---|
|
|
No default parameter.
|
None |
CF application with automatic buildpack detection |
|
|
|
None |
CF application with Node.js runtime |
|
|
No default parameter.
|
None |
CF application with automatic buildpack detection |
|
|
No default parameter.
|
None |
CF application with automatic buildpack detection |
|
|
|
None |
CF application with Automatic runtime detection by |
|
|
|
None |
CF application with Tomcat runtime of |
|
|
|
None |
CF application with Automatic runtime detection by |
|
|
|
|
CF application with HDI content activation |
|
|
|
None |
CF application with Node.js runtime |
|
|
|
None |
CF application with SAP Fiori launchpad content |
|
|
|
None |
CF application with SAP Fiori launchpad content |
|
|
Required dependency parameters:
|
None |
Direct content deployment to backing services |
|
|
|
None |
Deploys a content deployment application, and creates a task that performs the content deployment. |
|
|
|
|
CF application with SAP HTML5 content |
|
|
|
None |
CF application with static file runtime |
|
|
|
None |
CF application with Go runtime |
|
|
|
None |
CF application with Python runtime |
|
|
|
None |
CF application with PHP runtime |
|
|
|
None |
CF application with Binary runtime |
To choose a binary_buildpack, define it by using the following:
modules: - name: my-binary-app type: custom parameters: buildpack: binary_buildpack
Module parameters have platform-specific semantics. To reference a parameter value, use the placeholder notation ${<parameter>}, for example, ${default-host}.
It is also possible to declare metadata for parameters and properties defined in the MTA deployment descriptor. The mapping is based on the parameter or property keys. For example, you can specify if a parameter is required (
optional: false) or can be modifiedoverwritable: true. See Metadata for Properties and Parameters.
The following parameters are supported:
If you can't find a specific parameter from the native Cloud Foundry manifest here, refer to Prerequisites and Restrictions to see which Cloud Foundry features are currently not supported.
MTA Development and Deployment Module Parameters
|
Parameter |
Scope |
Read-Only / Write |
Description |
Default Value |
Example |
|---|---|---|---|---|---|
|
|
Module |
Write |
Allows enabling, disabling, and querying specific features for individual applications. These features typically control behaviors or capabilities related to application execution. The parameter accepts a map as a value. All parameters in the map are passed directly to the CF API. This mechanism ensures that all future app features will be automatically supported through MTA deployment. The parameter is especially useful when many services are bound to an application, and all credentials inside the For more information about the supported features, see Supported app features.
|
n/a |
|
|
|
Module |
Write |
The name of the application in the Cloud Foundry environment to be deployed for this module, based on the module name |
|
|
|
|
Module |
Write |
Applies namespace to the application name. When you set |
|
|
|
|
Module |
Write |
The name or the URL of a custom buildpack required by the application |
Empty, or as specified in the deploy service configuration |
|
|
|
Module |
Write |
An array of buildpacks. If a buildpack parameter already exists, it will be overwritten by the buildpacks listed in the buildpacks parameter, so that you have to include it in the array. |
Empty, or as specified in the deploy service configuration |
|
|
|
Module |
Write |
A custom command required to start the application |
Empty, or as specified in the deploy service configuration |
|
|
|
Module |
Write |
Specifies whether [true|false] a service broker should be registered for the application module |
|
|
|
|
Module |
Read-Only |
The name of the application in the Cloud Foundry environment to be deployed for this module, based on the module name |
The module name with or without a namespace prefix |
|
|
|
Module |
Read-Only |
The default host name, which is composed based on the module name to ensure uniqueness. Used with host-based routing to compose the default URI, see below. It follows the convention
|
Generated as described in the description |
|
|
|
Module |
Read-Only |
The number of application instances that are started during the deployment |
1 |
|
|
|
Module |
Read-Only |
Valid for blue-green deployment. Specify this parameter if you want the name of the Cloud Foundry application that is to be deployed with this module to be based on the name of the module. For standard deployment the parameter will be the same as |
The module name with or without a namespace prefix |
|
|
|
Module |
Read-Only |
Valid for blue-green deployment. The value of this parameter is the default domain for the current organization. |
|
|
|
|
Module |
Read-Only |
Valid for blue-green deployment. Specify this parameter if you want to use |
Generated as described in the description |
|
|
|
Module |
Read-Only |
Valid for blue-green deployment. Specify this parameter if you want to use |
Generated as described in the description |
|
|
|
Module |
Read-Only |
Valid for blue-green deployment. Specify this parameter if you want to use |
Generated as described in the description |
|
|
|
Module |
Read-Only |
The default URI, composed as
|
Generated as described in the description. |
|
|
|
Module |
Read-Only |
The default URL, composed as
|
Generated as described in the description. |
|
|
|
Module |
Write |
Deployment order of modules with circular dependencies |
soft |
|
|
|
Module |
Write |
The disk space that will be available to the application. This parameter requires a unit of measurement M, MB, G, or GB in upper or lower case. |
1, or as specified in module-type |
|
|
|
Module |
Write |
Creates a module from a docker image. When using a docker image parameter, we do not need to specify the module in the When uploading a docker image, the content of a module is not needed. |
n/a |
|
|
|
Module |
Write |
The domain on which the application is available later |
|
|
|
|
Module |
Write |
The domains on which the application is available later. The resulting application routes are the Cartesian product of the domains and hosts. That is, a separate route for each host is constructed on each domain. |
|
|
|
|
Module |
Write |
Enables use of SSH within an application. Supported for the Diego container runtime environment only.
|
n/a |
|
|
|
Module |
Write |
Enables or disables the parallel binding or unbinding of services during deployment. If disabled, the services are bound and unbound sequentially in the order provided in the deployment descriptor. |
|
|
|
|
Module |
Write |
If the |
If |
|
|
|
Module |
Write |
The application health check timeout in seconds |
n/a |
|
|
|
Module |
Write |
The time period in seconds, within which the application health check should be automatically started. If the health check does not start within the defined time period, it is omitted, and the deployment process continues. |
n/a |
|
|
|
Module |
Write |
The application health check type |
|
|
|
|
Module |
Write |
The hostname or subdomain where an application is available later. If you want to create a wildcard hostname, use an asterisk in quotes ("*"). |
|
|
|
|
Module |
Write |
The hostnames or subdomain where an application is available later. If you want to create a wildcard hostname, use an asterisk in quotes ("*"). |
|
|
|
|
Module |
Write |
Valid for a blue-green deployment when a new application version is started on a temporary route. Specify this parameter if you want to use another domain for temporary routes. |
|
|
|
|
Module |
Write |
Valid for a blue-green deployment when a new application version is started on several temporary routes. Specify this parameter if you want to use other domains for temporary routes by listing them in an array. |
|
|
|
|
Module |
Write |
Valid for a blue-green deployment when a new application version is started on a temporary route. Specify this parameter if you want to use another host for a temporary route.
|
|
|
|
|
Module |
Write |
Valid for a blue-green deployment when a new application version is started on temporary routes. Specify this parameter if you want to use other hosts for temporary routes by listing them in an array.
|
|
|
|
|
Module |
Write |
Valid for a blue-green deployment when a new application version is started on temporary routes. Specify this parameter if you want to use other routes for the application. |
|
|
|
|
Module |
Write |
The number of application instances that will be started during the deployment |
|
|
|
|
Module |
Write |
Defines the application attributes which will be kept after the deployment or blue-green deployment has finished. The supported attributes which could be kept are application environment, application bindings and application routes. If not specified, the default values are false, which indicates that each application attribute will be updated with the new values presented in the deployment descriptor. |
|
|
|
|
Module |
Write |
When specified on module level, it indicates if the existing routes of the module's corresponding application should be kept even if they are not defined within the deployment and/or extension descriptors. When specified on top level, under the
|
|
|
|
|
Module |
Write |
The memory limit for all instances of an application. This parameter requires a unit of measurement M, MB, G, or GB in upper or lower case. |
256M, or as specified in module-type |
|
|
|
Module |
Write |
Configures the deployer to create or skip the creation of a route for the application described by the module |
false |
|
|
|
Module |
Write |
Start/do not start the application during deployment.
If you explicitly set the |
Depends on the command line option |
|
|
|
Module |
Write |
The endpoint called to determine if the app is ready. The parameter can be applied if the |
n/a |
|
|
|
Module |
Write |
The type of health check to be performed on the module: |
|
|
|
|
Module |
Write |
The timeout in seconds for individual readiness health check requests. The parameter can be used for the |
n/a |
|
|
|
Module |
Write |
The amount of time in seconds between individual readiness health check requests |
n/a |
|
|
|
Module |
Write |
Specifies whether an application should be restarted if an environment variable has been changed in one of the following categories:
|
|
|
|
|
Module |
Write |
A parameter that lists multiple HTTP routes. For more information, see Routes. |
|
|
|
|
Module |
Write |
The context “route-path” which is part of the application default URI. Context path routing is routing based not only on domain names (host header) but also the path specified in the URL. |
n/a |
|
|
|
Module |
Write |
The name of the service broker in the Cloud Foundry environment to be created and registered for the specified application module |
|
|
|
|
Module |
Write |
The password used for authentication by the XS controller at the service broker when performing service-related requests. The parameter is mandatory if |
|
|
|
|
Module |
Write |
Makes the service plans of the broker visible only within the targeted space. |
|
|
|
|
Module |
Write |
Specifies the value of the service broker universal resource locator (URL) to register; service requests are sent to this URL. The parameter is mandatory if |
|
|
|
|
Module |
Write |
The name of the user required for authentication by the XS controller at the service broker when performing service-related requests. The parameter is mandatory if |
|
|
|
|
Module |
Write |
Use this parameter to skip the deployment of a specified module even if it is present in the descriptor. If you add this parameter for an already deployed module, this module will be deleted in the next operation. |
|
|
|
|
Module |
Write |
Use this parameter to define which prebuilt root file system ( |
n/a |
|
|
|
Module |
Write |
Defines how long, in seconds, your application can take during staging before the MTA operation times out. |
1h |
|
|
|
Module |
Write |
Defines how long, in seconds, your application can take to start before the MTA operation times out. |
1h |
|
|
|
Module |
Write |
Defines how long, in seconds, your application can take to execute a task before the MTA operation times out. |
12h |
|
|
|
Module |
Write |
Specify tasks, which are available for execution in the current droplet of the application. Also provide use of environment variables which are specified with the |
n/a |
|
|
|
Module |
Write |
Defines how long, in seconds, you can upload your application binary before the MTA operation times out. |
1h |
|
|
|
Module |
Read-Only |
Current timestamp in milliseconds |
Generated as described in the description. |
|
The following properties are supported:
MTA Development and Deployment Module Properties
|
Property |
Description |
Default Value |
Example |
|---|---|---|---|
|
|
Adds configurable delay in seconds, after stopping the application.
|
n/a |
|
By default every module has its own binary that is uploaded and deployed in specific manner. It is possible for multiple MTA modules to reference a single deployable binary, for example, an application archive. This means that during deployment, the same application archive is executed separately in multiple applications or application instances, but with different parameters and properties. This results in multiple running applications based on the same source code, which have different configurations and setup. A development project can have one source folder, which is referenced by multiple module entries in the MTA deployment descriptor mtad.yaml, as illustrated in the following example:
Multiple MTA Module Entries in the Deployment Descriptor (
mtad.yaml)_schema-version: "3.1.0" ID: hello version: 0.1.0 modules: - name: hello-router type: java.tomee path: web/router.war requires: - name: backend properties: backend: ~{url}/content name: backend url: ~{url} - name: hello-backend type: java.tomee path: web/router.war provides: - name: backend properties: url: "${default-url}"
If deployment is based on an MTA archive, it is not necessary to duplicate the code to have two different deployable modules; the specification for the MTA-module entry in MANIFEST.MF is extended, instead. The following (incomplete) example of a MANIFEST.MF shows how to use a comma-separated list of module names to associate one set of deployment artifacts with all listed modules:
Multiple MTA Modules Listed in the
MANIFEST.MFDeployment ManifestName: web/router.war MTA-Module: hello-router,hello-backend Content-Type: application/zip
Related Information