API catalog
Here is the content of soa.json, this file is needed when you activate a repository or when you add a passthrough endpoint from git.
{
"type": "service",
"subType": "",
"name": "artifact",
"group": "Examples",
"description": "This is the decryption of your service",
"tab": {
"main": "Main_tab",
"sub": "Sub_tab"
},
"documentation": {
"readme": "/doc/markupfile",
"release": "/doc/markupfile"
},
"swaggerFilename": "/doc/swagger.yml",
"port": 4100,
"version": "1",
//Search criteria
"program": ["soajs"],
"tags": ["tag1", "tag2"],
"attributes": {
"att1": ["att1.1", "att1.2"],
"att2": ["att2.1", "att2.2"]
},
//Configuration
"extKeyRequired": true,
"oauth": true,
"urac": true,
"urac_Profile": true,
"urac_ACL": false,
"tenant_Profile": false,
"provision_ACL": false,
"requestTimeout": 30,
"requestTimeoutRenewal": 5,
"maintenance": {
"port": {
"type": "inherit"
},
"readiness": "/heartbeat"
},
"interConnect": [
{"name": "ms", "version": "1"}
],
"prerequisites": {
"cpu": " ",
"memory": " "
},
//Custom profile
"profile": {
//free to add whatever you want
}
}
| Variable | Required | description | example | Default |
|---|---|---|---|---|
| Item and UI metadata | ||||
| type | Yes | The following type are supported: static, service, daemon, multi, custom (anything else) | if not set the default type will be custom. | custom |
| subtype | No | services | ||
| tab | No | - | ||
| name | 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 | |
| group | 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" | |
| description | No | The service description to appear in the API catalog UI | "This is a string" | - |
| Search metadata | ||||
| tags | No | Array of tags | - | |
| attributes | No | Object of attributes | - | |
| program | No | Array of programs | - | |
| Documentation metadata by version | ||||
| documentation | No | Object | - | |
| .readme | No | Readme | ||
| .release | No | Release notes | ||
| Configuration metadata | ||||
| port | Yes | The port of the service. make sure it is unique and not being used by any other service at the API catalog. | 4100 | |
| requestTimeout | No | The request lifetime | 30 | |
| requestTimeoutRenewal | No | How many times to renew the request lifetime | 5 | |
| prerequisites | ||||
| Configuration metadata by version | ||||
| 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" | swagger.json |
| version | Yes | The version of the service. make sure it has the following syntax: a string of /[0-9]+(.[0-9]+)?/ | "1" or "1.1" | "1" |
| extKeyRequired | No | To turn on multi tenancy you need to have extKeyRequired set to true | true | |
| oauth | No | To turn on oauth security for this service. | soajs supports 2 types of oAuth
soajs empowers you to turn on oAuth at many different levels
| false |
| urac | No | To add to the request header the logged-in user information | This is super useful when soajs gateway proxy the request to your service and you need to know who is the logged-in user. | false |
| urac_Profile | No | To add to the request header the logged-in user profile information | false | |
| urac_ACL | No | To add to the request header the logged-in user ACL information | false | |
| tenant_profile | No | |||
| provision_ACL | No | To add to the request header the tenant ACL information | false | |
| maintenance | Yes | The heartbeat route to probe the health status of the service. The type can be ("inherit", "maintenance", "custom")
| example {
"port": {
"type": "inherit"
},
"readiness": "/heartbeat",
"commands": [
{
"label": "reload",
"path": "/reload",
"icon": "provision"
}
]
}
| |
| Profile metadata by version | ||||
| profile | no | Free json object to add custom information. | ||
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 :
example {
"port": {
"type": "inherit"
},
"readiness": "/heartbeat",
"commands": [
{"label": "My Command", "path": "/mypath", "icon": "fas fa-wrench"}
]
}
|
|---|