Device Capabilities
Schema for defining device capabilities. The purpose of the Device Capabilities is that WFMs can match application deployments with the capabilities of the target devices.
Object structure
DeviceCapabilitiesManifest Attributes
| Attribute | Type | Required? | Description |
|---|---|---|---|
| apiVersion | string | Y | Identifier of the version the API resource follows. |
| kind | string | Y | Must be DeviceCapabilitiesManifest. |
| properties | Properties | Y | Element that defines characteristics about the device. See the Properties Attributes section below. |
Detailed class view: DeviceCapabilitiesManifest
Properties Attributes
| Attribute | Type | Required? | Description |
|---|---|---|---|
| id | string | Y | Unique deviceID assigned to the device via the Device Owner. |
| vendor | string | Y | Defines the device vendor. |
| modelNumber | string | Y | Defines the model number of the device. |
| serialNumber | string | Y | Defines the serial number of the device. |
| roles | []string | Y | Element that defines the device role it can provide to the Margo environment. MUST be one of the following: Standalone Cluster, or Standalone Device |
| resources | Resources | Y | Element that defines the device's resources available to the application deployed on the device. See the Resources Attributes section below. |
Detailed class view: Properties
Resources Attributes
| Attribute | Type | Required? | Description |
|---|---|---|---|
| cpu | CPU | N | CPU element specifying the CPU requirements for the application. See the CPU section below. |
| memory | string | N | The minimum amount of memory required. The value is given in binary units (Ki = Kibibytes, Mi = Mebibytes, Gi = Gibibytes). This is defined by the application developer. After deployment of the application, the device MUST provide this amount of memory for the application. |
| storage | string | N | The amount of storage required for the application to run. This encompasses the installed application and the data it needs to store. The value is given in binary units (Ki = Kibibytes, Mi = Mebibytes, Gi = Gibibytes, Ti Tebibytes, Pi = Pebibytes, Ei = Exbibytes). This is defined by the application developer. After deployment of the application, the device MUST provide this amount of storage for the application |
| peripherals | []Peripheral | N | Peripherals element specifying the peripherals required to run the application. See the Peripheral section below. |
| interfaces | []CommunicationInterface | N | Interfaces element specifying the communication interfaces required to run the application. See the Communication Interfaces section below. |
Detailed class view: Resources
CPU Attributes
| Attribute | Type | Required? | Description |
|---|---|---|---|
| cores | double | Y | The required amount of CPU cores the application must use to run in its full functionality. Specified as decimal units of CPU cores (e.g., 0.5 is half a core). This is defined by the application developer. After deployment of the application, the device MUST provide this number of CPU cores for the application. |
| architectures | []string | N | The CPU architectures supported by the application. This can be e.g. amd64, x86_64, arm64, arm. See the CpuArchitectureType definition for all permissible values. Multiple arcitecture types can be specified, as the deployment profile may support multiple CPU architectures. |
Detailed class view: CPU
Peripheral Attributes
| Attribute | Type | Required? | Description |
|---|---|---|---|
| type | None | N | None |
| manufacturer | string | N | The name of the manufacturer. If manufacturer is specified as a requirement here, it may be difficult to find devices that can host the application. Please use these requirements with caution. |
| model | string | N | The model of the peripheral. If model is specified as a requirement here, it may be difficult to find devices that can host the application. Please use these requirements with caution. |
Detailed class view: Peripheral
CommunicationInterface Attributes
| Attribute | Type | Required? | Description |
|---|---|---|---|
| type | None | N | None |
Detailed class view: CommunicationInterface