stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Isuru Haththotuwa <>
Subject Service Grouping and Composite Application Deployment
Date Mon, 02 Jun 2014 05:22:44 GMT
Hi Devs,

This is an addition to the discussion happened in the thread [1]. I have
included a very basic sequence diagram to show the flow of how Service
Grouping would happen for the initial implementation.

Short description of the flow:.

1, 2 & 3. Deploy Components' Definitions that would be included in the top
level Composite Application. Typically, a component would map to a single
cartridge. For sample JSON definitions of a component, please refer [1].

4. Deploy a Group Definition, which would logically group the relevant
components. This would include information on the Startup Order of each
component, and how to handle the termination/error situations as well (Kill

5. Deploy a Nested Group Definition, which would contain one/more of
Components and Groups.

6. Deploy the Composite Application Definition. This would map to the
operation 'Subscription' which we have currently, when spinning up a single
cartridge instance. As per the discussion that took place in the above
mentioned thread, this was decided to be called the 'Composite Application
Definition' deployment, rather than a Subscription.

For the initial version, we can restrict this Composite Application
Definition only to contain information for each group/component, such as
aliases, git repositories and relevant info as required, etc., and not
allow further grouping at this level.

A typical basic Composite Application Definition, in JSON format, would be
as follows:

  "name": "group2",
  "alias": "<group2_alias>",
  "components": [
      "name": "component2",
      "alias": "<component2_alias>",
      "repoUrRL": "<repo_url>"
  "groups": [
      "name": "group1",
      "alias": "group1_alias",
      "components": [
          "name": "component1",
          "alias": "<component1_alias>",
          "xxx": "<xxx>"
          "name": "component3",
          "alias": "<component3_alias>",
          "yyy": "<yyy>"

More information is available in the above mentioned mail thread and in
[2]. Please share your feedback on this.

[1]. [Discuss] Grouping of services (cartridges)

View raw message