Skip to content

MultiApps Archives

Vasko Bozhurski edited this page Oct 8, 2018 · 2 revisions

The MultiApps Controller provides a way to deploy a complex composition of applications and services that are bundled together in a MultiApps Archive (also known as MTA Archive or MTAR) based on the Multi-Target Application (MTA) model. These archives are created in a way compatible with the JAR file specification, which allows the use of common tools for creating, modifying and signing such types of archives.

Archive File Structure

Just like a JAR file, the MultiApps Archives contain a META-INF folder at the root level of the archive. Inside it are the deployment descriptor mtad.yml and the MANIFEST.MF which are mandatory for each MultiApps Archive and contain the needed information for the MultiApps Controller to deploy the archive. Any content that is going to be deployed can be placed on the root level of the archive or in a directory structure of your choice.

Example Structure

/exampleapp.zip
/META-INF/mtad.yml
/META-INF/MANIFEST.MF

Deployment Descriptor

The MultiApps deployment descriptor mtad.yml is a YAML file that defines the relations between the different applications (modules), services (resources) and contains information needed for their deployment and configuration to the Cloud Foundry platform. For more information about the modeling of MTA deployment descriptors, check this page.

Example mtad.yml

ID: com.multiapps.example
version: 1.0.0
_schema-version: '3.1'

modules:
- name: example-app
  type: javascript.nodejs
    parameters:
        memory: 128M

MANIFEST.MF

The MANIFEST.MF is used to describe the file content needed for the modules and resources of the MTA Archive and follows the Manifest specification. Each entry within the manifest must have the following three fields:

  • Name - the path within the MTA Archive to the file content that needs to be deployed
  • Content-Type - the type of the file content
  • MTA-Module or MTA-Resource - the module or resource that uses the file content

Example MANIFEST.MF

Manifest-Version: 1.0

Name: exampleapp.zip
Content-Type: application/zip
MTA-Module: example-app