You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/margo-api-reference/workload-api/application-package-api/application-description.linkml.yaml
+170Lines changed: 170 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -201,10 +201,138 @@ classes:
201
201
DeploymentProfile:
202
202
description: Represents a deployment configuration for the application.
203
203
rank: 60
204
+
attributes:
205
+
requiredResources:
206
+
description: >-
207
+
Required resources element specifying the resources required to install the application.
208
+
See the [Required Resources](#requiredresources-attributes) section below.
209
+
rank: 30
210
+
range: RequiredResources
211
+
required: false
212
+
requiredPeripherals:
213
+
description: >-
214
+
Required peripherals element specifying the peripherals required to install the application.
215
+
See the [Required Peripherals](#requiredperipherals-attributes) section below.
216
+
rank: 40
217
+
range: RequiredPeripherals
218
+
required: false
219
+
multivalued: true
220
+
inlined: true
221
+
inlined_as_list: true
222
+
requiredInterfaces:
223
+
description: >-
224
+
Required interfaces element specifying the communication interfaces required to install the application.
225
+
See the [Required Interfaces](#requiredinterfaces-attributes) section below.
226
+
rank: 50
227
+
range: RequiredInterfaces
228
+
required: false
229
+
multivalued: true
230
+
inlined: true
231
+
inlined_as_list: true
204
232
slots:
205
233
- type
206
234
- components
207
235
236
+
RequiredResources:
237
+
description: >-
238
+
Required resources element specifying the resources required to install the application.
239
+
rank: 61
240
+
attributes:
241
+
cpu:
242
+
description: >-
243
+
CPU element specifying the CPU requirements for the application.
244
+
See the [CPU](#cpu-attributes) section below.
245
+
range: CPU
246
+
required: false
247
+
memory:
248
+
description: >-
249
+
Memory element specifying the memory requirements for the application.
250
+
See the [Memory](#memory-attributes) section below.
251
+
range: Memory
252
+
required: false
253
+
storage:
254
+
description: >-
255
+
Storage element specifying the storage requirements for the application.
256
+
See the [Storage](#storage-attributes) section below.
257
+
range: Storage
258
+
required: false
259
+
260
+
CPU:
261
+
description: >-
262
+
CPU element specifying the CPU requirements for the application.
263
+
rank: 62
264
+
attributes:
265
+
coreCountMinimum:
266
+
description: The number of CPU cores required by the application to run in its full functionality.
267
+
This is defined by the application developer.
268
+
After deployment of the application, the device MUST provide this number of CPU cores for the application.
269
+
rank: 10
270
+
range: integer
271
+
required: true
272
+
architecture:
273
+
description: The CPU architecture required by the application. This can be e.g. amd64, x86_64, arm64, arm (according to CpuArchitectureType).
274
+
rank: 20
275
+
range: CpuArchitectureType
276
+
required: false
277
+
278
+
Memory:
279
+
description: >-
280
+
Memory element specifying the memory requirements for the application.
281
+
rank: 63
282
+
attributes:
283
+
sizeMinimum:
284
+
description: The minimum amount of memory required. Specified in megabyte (MB).
285
+
This is defined by the application developer.
286
+
After deployment of the application, the device MUST provide this amount of memory for the application.
287
+
rank: 10
288
+
range: integer
289
+
required: true
290
+
291
+
Storage:
292
+
description: >-
293
+
Storage element specifying the storage requirements for the application.
294
+
rank: 64
295
+
attributes:
296
+
sizeMinimum:
297
+
description: The amount of storage required. Specified in megabyte (MB).
298
+
This is defined by the application developer.
299
+
After deployment of the application, the device MUST provide this amount of storage for the application
300
+
rank: 10
301
+
range: integer
302
+
required: true
303
+
304
+
RequiredPeripherals:
305
+
description: >-
306
+
Peripherals required to run the application.
307
+
rank: 65
308
+
attributes:
309
+
type:
310
+
description: The type of peripheral. This can be e.g. GPU, display, camera, microphone, speaker (according to PeripheralType).
311
+
rank: 20
312
+
range: PeripheralType
313
+
required: true
314
+
manufacturer:
315
+
description: The name of the manufacturer.
316
+
rank: 30
317
+
range: string
318
+
required: false
319
+
model:
320
+
description: The model of the peripheral.
321
+
rank: 40
322
+
range: string
323
+
required: false
324
+
325
+
RequiredInterfaces:
326
+
description: >-
327
+
Communication interfaces required to run the application.
328
+
rank: 66
329
+
attributes:
330
+
type:
331
+
description: The type of interface required to run the application. This can be e.g. Ethernet, WiFi, Cellular, Bluetooth, USB, CANBus, RS232 (according to CommunicationInterfaceType)
332
+
rank: 30
333
+
range: CommunicationInterfaceType
334
+
required: false
335
+
208
336
HelmDeploymentProfile:
209
337
is_a: DeploymentProfile
210
338
#rank: 63
@@ -583,3 +711,45 @@ slots:
583
711
inlined_as_list: true
584
712
rank: 20
585
713
714
+
enums:
715
+
CpuArchitectureType:
716
+
permissible_values:
717
+
amd64:
718
+
description: AMD 64-bit architecture.
719
+
x86_64:
720
+
description: x86 64-bit architecture.
721
+
arm64:
722
+
description: ARM 64-bit architecture.
723
+
arm:
724
+
description: ARM 32-bit architecture.
725
+
726
+
CommunicationInterfaceType:
727
+
permissible_values:
728
+
Ethernet:
729
+
description: This type stands for an Ethernet interface.
730
+
WiFi:
731
+
description: This type stands for an WiFi interface.
732
+
Cellular:
733
+
description: This type stands for cellular communication technologies such as 5G, LTE, 3G, 2G, ....
734
+
Bluetooth:
735
+
description: This type stands for a Bluetooth or Bluetooth Low-Energy (BLE) interface.
736
+
USB:
737
+
description: This type stands for a USB interface.
738
+
CANBus:
739
+
description: This type stands for a CANBus interface.
740
+
RS232:
741
+
description: This type stands for a RS232 interface.
742
+
743
+
PeripheralType:
744
+
permissible_values:
745
+
GPU:
746
+
description: This type stands for a Graphics Processing Unit (GPU) peripheral.
747
+
Display:
748
+
description: This type stands for a display peripheral.
749
+
Camera:
750
+
description: This type stands for a camera peripheral.
751
+
Microphone:
752
+
description: This type stands for a microphone peripheral.
753
+
Speaker:
754
+
description: This type stands for a speaker peripheral.
Copy file name to clipboardExpand all lines: src/margo-api-reference/workload-api/application-package-api/resources/examples/valid/ApplicationDescription-002.yaml
Copy file name to clipboardExpand all lines: system-design/margo-api-reference/workload-api/application-package-api/application-description.md
+72-1Lines changed: 72 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,8 +71,64 @@ Represents a deployment configuration for the application. <br>
71
71
72
72
| Attribute | Type | Required? | Description |
73
73
| --- | --- | --- | --- |
74
-
| type | string |Y | Defines the type of this deployment configuration for the application. The allowed values are `helm.v3`, to indicate the component's package format is Helm version 3, and `compose` to indicate the component's package format is a Compose file. When installing the application on a device supporting the Kubernetes platform all `helm.v3` components, and only `helm.v3` components, will be provided to the device in same order they are listed in the application description file. When installing the application on a device supporting Compose all `compose` components, and only `compose` components, will be provided to the device in the same order they are listed in the application description file. The device will install the components in the same order they are listed in the application description file.|
74
+
| type | string | Y | Indicates the components's deployment configuration. The values are `helm.v3` to indicate the component's package format is Helm version 3and `compose` to indicate the component's package format is a Compose file. When installing the application on a device supporting the Kubernetes platform all `helm.v3` components, and only `helm.v3` components, will be provided to the device in same order they are listed in the application description file. When installing the application on a device supporting Compose all `compose` components, and only `compose` components, will be provided to the device in the same order they are listed in the application description file. The device will install the components in the same order they are listed in the application description file.|
75
75
| components |[]Component | Y | Component element indicating the components to deploy when installing the application. See the [Component](#component-attributes) section below.|
76
+
| requiredResources | RequiredResources | N | Required resources element specifying the resources required to install the application. See the [Required Resources](#requiredresources-attributes) section below.|
77
+
| requiredPeripherals |[]RequiredPeripherals | N | Required peripherals element specifying the peripherals required to install the application. See the [Required Peripherals](#requiredperipherals-attributes) section below.|
78
+
| requiredInterfaces |[]RequiredInterfaces | N | Required interfaces element specifying the communication interfaces required to install the application. See the [Required Interfaces](#requiredinterfaces-attributes) section below.|
79
+
80
+
81
+
### RequiredResources Attributes <br><br>
82
+
Required resources element specifying the resources required to install the application. <br>
83
+
84
+
| Attribute | Type | Required? | Description |
85
+
| --- | --- | --- | --- |
86
+
| cpu | CPU | N | CPU element specifying the CPU requirements for the application. See the [CPU](#cpu-attributes) section below.|
87
+
| memory | Memory | N | Memory element specifying the memory requirements for the application. See the [Memory](#memory-attributes) section below.|
88
+
| storage | Storage | N | Storage element specifying the storage requirements for the application. See the [Storage](#storage-attributes) section below.|
89
+
90
+
91
+
### CPU Attributes <br><br>
92
+
CPU element specifying the CPU requirements for the application. <br>
93
+
94
+
| Attribute | Type | Required? | Description |
95
+
| --- | --- | --- | --- |
96
+
| coreCountMinimum | integer | Y | The number of CPU cores required by the application to run in its full functionality. This is defined by the application developer. After deployment of the application, the device MUST provide this number of CPU cores for the application.|
97
+
| architecture | CpuArchitectureType | N | The CPU architecture required by the application. This can be e.g. amd64, x86_64, arm64, arm (according to CpuArchitectureType).|
98
+
99
+
100
+
### Memory Attributes <br><br>
101
+
Memory element specifying the memory requirements for the application. <br>
102
+
103
+
| Attribute | Type | Required? | Description |
104
+
| --- | --- | --- | --- |
105
+
| sizeMinimum | integer | Y | The minimum amount of memory required. Specified in megabyte (MB). This is defined by the application developer. After deployment of the application, the device MUST provide this amount of memory for the application.|
106
+
107
+
108
+
### Storage Attributes <br><br>
109
+
Storage element specifying the storage requirements for the application. <br>
110
+
111
+
| Attribute | Type | Required? | Description |
112
+
| --- | --- | --- | --- |
113
+
| sizeMinimum | integer | Y | The amount of storage required. Specified in megabyte (MB). This is defined by the application developer. After deployment of the application, the device MUST provide this amount of storage for the application|
114
+
115
+
116
+
### RequiredPeripherals Attributes <br><br>
117
+
Peripherals required to run the application. <br>
118
+
119
+
| Attribute | Type | Required? | Description |
120
+
| --- | --- | --- | --- |
121
+
| type | PeripheralType | Y | The type of peripheral. This can be e.g. GPU, display, camera, microphone, speaker (according to PeripheralType).|
122
+
| manufacturer | string | N | The name of the manufacturer.|
123
+
| model | string | N | The model of the peripheral.|
124
+
125
+
126
+
### RequiredInterfaces Attributes <br><br>
127
+
Communication interfaces required to run the application. <br>
128
+
129
+
| Attribute | Type | Required? | Description |
130
+
| --- | --- | --- | --- |
131
+
| type | CommunicationInterfaceType | N | The type of interface required to run the application. This can be e.g. Ethernet, WiFi, Cellular, Bluetooth, USB, CANBus, RS232 (according to CommunicationInterfaceType)|
0 commit comments