provides_services
Field | Type | Required |
provides_services | object array | No |
The services an application provides to other applications. More about services can be found in subsections Services and service discovery and Security model.
Field | Type | Required | Description |
service_name | string | Yes | Name of the service the application provides. Name has two parts <registry><name>. The registry part must always be spaceify.org/services/. Allowed characters for the name part are 0-9a-zA-Z/_ and length is 3 - 106 characters. Name can not be empty, http or https or end with /. |
service_type | string | Yes | Type of the service: standard, open, open_local or alien. See details below. |
Service type | Explanation |
standard | Strict access control is applied. Only those applications may access this service that state that they need to use this service in the "requires_services" field of their manifest files. |
open_local | All ip addresses from the 172.17.x.x range (applications and spacelets) can access the service freely. WiFi clients from the 10.0.x.x network cannot access this service. |
open | No access control is applied. All ip addresses, both from the 172.17.x.x range and the WiFi clients from the 10.0.x.x network can access the service freely. |
alien | The preferred method of communicating in Spaceify is to use WebSocket connections and JSON-RPC protocol. Alien service type can use its own connection method and protocal. Otherwise the security model is the same as standard has. |
Examples |
[ { "service_name": "spaceify.org/services/command_backend", "service_type": "open_local" } ] |
[ { "service_name": "spaceify.org/services/command_backend", "service_type": "open_local" }, { "service_name": "spaceify.org/services/command_frontend"service_type": "open_local" } ] |