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:
All the properties that correspond to the cartridge group resource are explained as follows:
Main property definitions
|Group Name||√||√||The name of the group.||Yes||N/A||String||group 1|
Defines all other nested groups within the group.
|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|
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|
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:
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.