SOAJS has backward compatibilities, however we advice you to start using the new version. However here is the content of the previous version of soa.json, this file is needed when you activate a repository or when you add a passthrough endpoint from git.
{ "serviceName": "artifact", "serviceGroup": "Examples", "servicePort": 4100, "serviceVersion": "1", "description": "This is the decryption of your service", "tags": ["tag1", "tag2"], "attributes": { "att1": ["att1.1", "att1.2"], "att2": ["att2.1", "att2.2"] }, "program": ["soajs"], "swaggerFilename": "/doc/swagger.yml", "maintenance": { "port": { "type": "inherit" }, "readiness": "/heartbeat" }, "type": "service", "prerequisites": { "cpu": " ", "memory": " " }, "requestTimeout": 30, "requestTimeoutRenewal": 5, "extKeyRequired": true, "oauth": true, "urac": true, "urac_Profile": true, "urac_ACL": false, "tenant_Profile": false, "provision_ACL": false }
Variable | Required | description | example |
---|---|---|---|
serviceName | Yes | The name of the service, has to be unique and not been used by other service at the API catalog. | If the repoName is : xx.pay.merchant-registration "merchant-registration" |
serviceGroup | Yes | The group of the service, make sure you set the right group to properly display the service under the right group at the API catalog. | The serviceGroup should reflect the system the service belongs to "Payment" |
servicePort | Yes | The port of the service. make sure it is unique and not being used by any other service at the API catalog. | 4100 |
serviceVersion | Yes | The version of the service. make sure it has the following syntax: a string of /[0-9]+(.[0-9]+)?/ | "1" or "1.1" |
description | No | The service description to appear in the API catalog UI | "This is a string" |
swaggerFilename | No | The location of the service swagger file from the repository root. if not set soajs will look for swagger.yml or swagger.json at the root folder. | "/doc/swagger.yml" |
type | Yes | The following type are supported: static, service, daemon, multi, custom (anything else) | if not set the default type will be custom. |
extKeyRequired | No | To turn on multi tenancy you need to have extKeyRequired set to true | default value is true |
oauth | No | To turn on oauth security for this service. | default is false soajs supports 2 types of oAuth
soajs empowers you to turn on oAuth at many different levels
|
urac | No | To add to the request header the logged in user information | This is supper useful when soajs gateway proxy the request to your service and you need to know who is the logged in user. default is false |
urac_Profile | No | To add to the request header the logged in user profile information | default is false |
urac_ACL | No | To add to the request header the logged in user ACL information | default is false |
provision_ACL | No | To add to the request header the tenant ACL information | default is false |
requestTimeout | No | The request lifetime | default is 30 |
requestTimeoutRenewal | No | How many times to renew the request lifetime | default is 5 |
maintenance | Yes | The heartbeat route to probe the health status of the service. | { "port": { "type": "inherit" }, "readiness": "/heartbeat", "commands": [ {"label": "reload", "path": "/reload", "icon": "provision"} ] } |
Maintenance Icon
For maintenance SOAJS is using font awesome, checkout the available icons at https://fontawesome.com/icons?d=gallery
For example, if you choose the wrench icon as follows :
{ "port": { "type": "inherit" }, "readiness": "/heartbeat", "commands": [ {"label": "My Command", "path": "/mypath", "icon": "wrench"} ] }
Add Comment