This documentation is for WSO2 Private PaaS 4.0.0. View documentation for the latest release.
Sample Cartridge Definition - WSO2 Private PaaS 4.0.0 - WSO2 Documentation
||
Skip to end of metadata
Go to start of metadata

The configurations included in a php­-cartridge.json file are as follows:

{
    "type":"php",
    "provider":"apache",
    "host":"stratos.org",
    "displayName":"PHP",
    "description":"PHP Cartridge",
    "version":"7",
	"defaultAutoscalingPolicy":"economyPolicy",
    "multiTenant":"false",
    "portMapping":[
         {
            "protocol":"http",
            "port":"80",
            "proxyPort":"8280"
         },
         {
            "protocol":"https",
            "port":"443",
            "proxyPort":"8243"
         }
    ],
    "iaasProvider":[
         {
            "type":"ec2",
            "imageId":"ap-southeast-1/ami-2e0d5a7c",
            "maxInstanceLimit":"4",
            "property":[
               {
                  "name":"instanceType",
                  "value":"m1.medium"
               },
               {
                  "name":"keyPair",
                  "value":"xxxxxxxx"
               }
            ],
            "networkInterfaces": [
                {
                    "networkUuid": "fb9c21f4-0672-48b2-8279-77334bb63a53"
 },
  {
                    "networkUuid": "1e43f86f-4165-4f2e-8017-dd4cfb5548b0"
                }
            ],
         }
    ],
    "loadBalancer":{
         "type":"lb",
         "property":{
            "name":"default.load.balancer",
            "value":"true"
         }
    },
    "persistence": {
       "isRequired": "true",
       "volume" : [
                    {
                      "device": "/dev/sdc",
                      "mappingPath": "/home/ubuntu/sdc",
                      "size": "11",
                      "removeOnTermination": "false"
                    }
                    
                ]
               }
} 

Parameter definitions

Cartridge definitions

ParameterDescriptionRequiredDefault ValueExample Value
typeType of the cartridgeYesN/Aphp
providerProvider of the cartridgeYesN/Aapache
host Domain where the cartridge will be hostedYesN/Astratos.org
displayName The name in which the cartridge will be displayedYesN/APHP
description A short description about the cartridgeNoN/A

PHP Cartridge

version The version of the cartridge applicationYesN/A7
defaultAutoscalingPolicy
The auto-scaling policy used by the cartridgeYesN/A

economyPolicy

multiTenant Whether the cartridge supports multi tenancyYesfalsetrue/false
portMapping

Details of the port mapped to the cartridge

 You can add parameter definitions on multiple port mappings if required.

YesN/AN/A
iaasProvider

Details of the IaaS provider that is used for the cartridge

If required, you can add parameter definitions on multiple IaaS providers. These values you enter will override the values that you have entered in the cloud-controller.xml file, which is in the <CC_HOME>/repository/conf/ directory.

YesN/AN/A
loadBalancer Details of the load balancer that is used for the cartridge YesN/AN/A
persistence
Details of the persistence volume that should be attached to the cartridgeNoN/AN/A
portMapping  
ParameterDescriptionRequiredDefault ValueExample Value
protocolThe protocol that is used to map the portsYesN/A

http

portThe port to which the cartridge is mappedYesN/A80
proxyPortThe proxy port to which the cartridge is mappedYesN/A8280
iaasProvider  
ParameterDescriptionRequiredDefault ValueExample Value
typeType of the IaaS providerYesN/Aec2
imageIdThe unique ID of the IaaS imageYesN/A

ap-southeast-1/ami-2e0d5a7c

maxInstanceLimit
The maximum instances that will be spawned in the IaaSYesN/A4
property

The IaaS provider properties are listed as name value pairs. It is mandatory that IaaS provider definitions include the following property configurations:

{
   "name":"instanceType",
   "value":"m1.medium"
},
{
   "name":"keyPair",
   "value":"xxxxxx"
}

Administrators can define other dynamic parameters together with its corresponding values appropriately, which need to be set when an instance is spawned, via this property parameter.

YesN/AN/A
networkInterfaces

The list of network configuration tuples attached when launching cartridges. The possible values for networkInterfaces tuples are as follows:

  • OpenStack
    { "networkUuid", "fixedIp","portUuid "}
  • AWS EC2
    {"networkUuid"}
NoN/A

fb9c21f4-0672-48b2-8279-77334bb63a53

loadBalancer 
ParameterDescriptionRequiredDefault ValueExample Value
type
Type of the IaaS providerYesN/Alb
property
The load balancer properties are listed as name value pairs.YesN/AN/A
persistence
ParameterDescriptionRequiredDefault ValueExample Value
isRequired
If an extra volume is required is required to be attached to the cartridge to store contentNoN/A
true
volume
Details of the persistence volume that should be attached to the cartridgeNoN/AN/A
volume
ParameterDescriptionRequiredDefault ValueExample Value
device
Linux device of the volume that will be mounted to the mapping pathNoN/A
/dev/sdc
mappingPath
Folder path of the directory onto which the Linux device will be mountedNoN/A
/home/ubuntu/sdc
size
Capacity of the persistence volume that should be attached to the cartridgeYes. But the value provided here will be overridden, if a different value will be provided during subscription.N/A11
removeOnTermination

What should be done to the volume created after the termination of the instance, whether it should be removed or not.

If the value is set to ' false ', the volume and its data will exist even after the instance is terminated, so that the data will not be deleted.

NoN/A
false
property
ParameterDescriptionRequiredDefault ValueExample Value
name
Name of the propertyYesN/AinstanceType, default.load.balancer
value
Value corresponding to the property.YesN/Am1.medium, true
  • No labels