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:
Table of Contents | ||
---|---|---|
|
Sample cartridge group definition JSON
The following are sample configurations that can be used in a JSON to define a cartridge group:
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Property definitions
All the properties that correspond to the cartridge group resource are explained as follows:
Panel | |||||
---|---|---|---|---|---|
|
Main property definitions
Property | W | R | U | Description | M | DV | Data Type | Example | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JSON | UI | ||||||||||||||
| Group Name | √ | √ | The name of the group. | Yes | N/A | String | group 1 | |||||||
| groups | √ | √ | Defines all other nested groups within the group. | groups array | ||||||||||
| 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 | √ | √ | 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 | ||||||||||||||||||||
| 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:
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, |