A cartridge group defines the relationship among a set of cartridge groups and a set of cartridges. The relationship among the children of a group can be the startup order, termination behavior and any scalable dependencies. Writing a cartridge group definition provides the ability to re-use the same frequently used cartridges as needed in different composite applications. The cartridges that correspond to a cartridge group have to be added to WSO2 Private PaaS before the cartridge group is added. A sample cartridge group definition, together with information on all the properties that can be added in a cartridge group definition JSON are as follows:
Sample cartridge group definition JSON
The following are sample configurations that can be used in a JSON to define a cartridge group:
{ "name": "esb-php-group", "cartridges": [ "esb", "php" ], "dependencies": { "startupOrders": [ { "aliases": [ "cartridge.my-esb", "cartridge.my-php" ] } ], "terminationBehaviour": "terminate-none" } }
Property definitions
All the properties that correspond to the cartridge group resource are explained as follows:
|
|
|
|
|
Main property definitions
Property | W | R | U | Description | M | DV | Data Type | Example | |
---|---|---|---|---|---|---|---|---|---|
JSON | UI | ||||||||
name | Group Name | √ | √ | The name of the group. | Yes | N/A | String | group 1 | |
groups | groups | √ | √ | Defines all other nested groups within the group. | groups array | ||||
cartridges | cartridges | √ | √ | If the group refers to any cartridges, then such details needs to be mentioned under this parameter. When defining cartridges, you need to use the name of the cartridge. | Yes | N/A | cartridges array | tomcat, php | |
dependencies | Dependencies | √ | √ | Defines the dependency that exists between members (cartridge or a group). For more information on the sub-properties, see dependencies. | Yes | N/A | dependencies |
Sub-property definitions
dependencies
Property | W | R | U | Description | M | DV | Data Type | Example | |
---|---|---|---|---|---|---|---|---|---|
JSON | UI | ||||||||
startupOrders | Startup Orders | √ | √ | The order in which the group’s children (sub groups and cartridges) need to started up. If it is a group, it should use the format of
| No | N/A | startupOrders array | group.group1, cartridge.tomcat | |
| Termination Behaviour | √ | √ | This determines how the instances need to be terminated. The following is the example startupOrder used to explain the terminationBehaviour: "startupOrders": [ { "aliases": [ "group.group1", "cartridge.tomcat" ] }, { "aliases": [ "group.group1", "cartridge.php" ] } ], The available terminationBehaviours are as follows:
| No | N/A | String | terminate-dependent, terminate-all, terminate-none | |
scalingDependents | Scaling Dependents | √ | √ | Defines if there are any dependencies with regard to scaling. When dependent scaling is defined among members (cartridge or a group), and scaling (scaling up or down) is taking place for any of the members, all other dependent members will also scale in order to maintain the defined ratio. | No | N/A | scalingDependents array | group.group1, |