Cartridge Group Resource Definition
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": "keymanager-gw-manager-gw-worker", "cartridges": [ "wso2am-190-gw-manager", "wso2am-190-gw-worker", "wso2am-190-km" ], "dependencies": { "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, |