@balena/open-balena-api 26.3.0-build-v7-e81e6701adf0958ac1e0e85f46c022e7b822541a-1 → 26.3.0-build-device-update-status-7aacd491f00578f4ed149155afde2a7ac16e7b6f-1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/balena-model.d.ts +4 -0
- package/dist/balena.sbvr +11 -0
- package/dist/features/device-state/hooks.js +9 -0
- package/dist/features/device-state/hooks.js.map +1 -0
- package/dist/features/device-state/middleware.d.ts +2 -0
- package/dist/features/device-state/routes/state-patch-v3.d.ts +2 -0
- package/dist/features/device-state/routes/state-patch-v3.js +21 -0
- package/dist/features/device-state/routes/state-patch-v3.js.map +1 -1
- package/dist/features/device-state/state-patch-utils.d.ts +1 -2
- package/dist/features/device-state/state-patch-utils.js +7 -1
- package/dist/features/device-state/state-patch-utils.js.map +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +3 -7
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/migrations/00092-add-device-update-status.sql +3 -0
- package/dist/translations/v6/v6.d.ts +4 -4
- package/dist/translations/v6/v6.js +3 -5
- package/dist/translations/v6/v6.js.map +1 -1
- package/dist/translations/v6/v6.sbvr +11 -0
- package/package.json +3 -4
- package/dist/translations/v7/hooks.js +0 -2
- package/dist/translations/v7/hooks.js.map +0 -1
- package/dist/translations/v7/v7.d.ts +0 -3
- package/dist/translations/v7/v7.js +0 -12
- package/dist/translations/v7/v7.js.map +0 -1
- package/dist/translations/v7/v7.sbvr +0 -871
- /package/dist/{translations/v7 → features/device-state}/hooks.d.ts +0 -0
@@ -1,871 +0,0 @@
|
|
1
|
-
Vocabulary: Auth
|
2
|
-
|
3
|
-
Term: jwt secret
|
4
|
-
Concept Type: Short Text (Type)
|
5
|
-
|
6
|
-
Term: name
|
7
|
-
Concept Type: Short Text (Type)
|
8
|
-
|
9
|
-
Term: username
|
10
|
-
Concept Type: Short Text (Type)
|
11
|
-
|
12
|
-
Term: password
|
13
|
-
Concept Type: Hashed (Type)
|
14
|
-
|
15
|
-
Term: expiry date
|
16
|
-
Concept Type: Date Time (Type)
|
17
|
-
|
18
|
-
Term: key
|
19
|
-
Concept Type: Short Text (Type)
|
20
|
-
|
21
|
-
Term: description
|
22
|
-
Concept Type: Text (Type)
|
23
|
-
|
24
|
-
Term: actor
|
25
|
-
|
26
|
-
Term: permission
|
27
|
-
Reference Scheme: name
|
28
|
-
Fact type: permission has name
|
29
|
-
Necessity: Each permission has exactly one name.
|
30
|
-
Necessity: Each name is of exactly one permission.
|
31
|
-
|
32
|
-
Term: role
|
33
|
-
Reference Scheme: name
|
34
|
-
Fact type: role has name
|
35
|
-
Necessity: Each role has exactly one name.
|
36
|
-
Necessity: Each name is of exactly one role.
|
37
|
-
Fact type: role has permission
|
38
|
-
|
39
|
-
Term: user
|
40
|
-
Reference Scheme: username
|
41
|
-
Concept Type: actor
|
42
|
-
Fact type: user has username
|
43
|
-
Necessity: Each user has exactly one username.
|
44
|
-
Necessity: Each username is of exactly one user.
|
45
|
-
Fact type: user has password
|
46
|
-
Necessity: Each user has at most one password.
|
47
|
-
Fact type: user has jwt secret
|
48
|
-
Necessity: Each user has at most one jwt secret.
|
49
|
-
Fact type: user has role
|
50
|
-
Term Form: user role
|
51
|
-
Fact type: user role has expiry date
|
52
|
-
Necessity: Each user role has at most one expiry date.
|
53
|
-
Fact type: user has permission
|
54
|
-
Term Form: user permission
|
55
|
-
Fact type: user permission has expiry date
|
56
|
-
Necessity: Each user permission has at most one expiry date.
|
57
|
-
|
58
|
-
Term: api key
|
59
|
-
Reference Scheme: key
|
60
|
-
Fact type: api key has key
|
61
|
-
Necessity: each api key has exactly one key
|
62
|
-
Necessity: each key is of exactly one api key
|
63
|
-
Fact type: api key has expiry date
|
64
|
-
Necessity: each api key has at most one expiry date.
|
65
|
-
Fact type: api key has role
|
66
|
-
Note: An 'api key' will inherit all the 'permissions' that the 'role' has.
|
67
|
-
Fact type: api key has permission
|
68
|
-
Fact type: api key is of actor
|
69
|
-
Necessity: each api key is of exactly one actor
|
70
|
-
Fact type: api key has name
|
71
|
-
Necessity: Each api key has at most one name.
|
72
|
-
Fact type: api key has description
|
73
|
-
Necessity: Each api key has at most one description.
|
74
|
-
|
75
|
-
|
76
|
-
Vocabulary: balena
|
77
|
-
|
78
|
-
-- Primitive terms (in AZ order)
|
79
|
-
Term: alias
|
80
|
-
Concept Type: Short Text (Type)
|
81
|
-
|
82
|
-
Term: api heartbeat state
|
83
|
-
Concept Type: Short Text (Type)
|
84
|
-
|
85
|
-
Term: api port
|
86
|
-
Concept Type: Integer (Type)
|
87
|
-
|
88
|
-
Term: api secret
|
89
|
-
Concept Type: Short Text (Type)
|
90
|
-
|
91
|
-
Term: app name
|
92
|
-
Concept Type: Text (Type)
|
93
|
-
|
94
|
-
Term: build log
|
95
|
-
Concept Type: Text (Type)
|
96
|
-
|
97
|
-
Term: class
|
98
|
-
Concept Type: Short Text (Type)
|
99
|
-
|
100
|
-
Term: commit
|
101
|
-
Concept Type: Short Text (Type)
|
102
|
-
|
103
|
-
Term: composition
|
104
|
-
Concept Type: JSON (Type)
|
105
|
-
|
106
|
-
Term: config var name
|
107
|
-
Concept Type: Short Text (Type)
|
108
|
-
|
109
|
-
Term: content hash
|
110
|
-
Concept Type: Short Text (Type)
|
111
|
-
|
112
|
-
Term: contract
|
113
|
-
Concept Type: JSON (Type)
|
114
|
-
|
115
|
-
Term: date
|
116
|
-
Concept Type: Date Time (Type)
|
117
|
-
|
118
|
-
Term: device name
|
119
|
-
Concept Type: Short Text (Type)
|
120
|
-
|
121
|
-
Term: dockerfile
|
122
|
-
Concept Type: Text (Type)
|
123
|
-
|
124
|
-
Term: download progress
|
125
|
-
Concept Type: Integer (Type)
|
126
|
-
|
127
|
-
Term: email
|
128
|
-
Concept Type: Text (Type)
|
129
|
-
|
130
|
-
Term: end timestamp
|
131
|
-
Concept Type: Date Time (Type)
|
132
|
-
|
133
|
-
Term: env var name
|
134
|
-
Concept Type: Short Text (Type)
|
135
|
-
|
136
|
-
Term: error message
|
137
|
-
Concept Type: Text (Type)
|
138
|
-
|
139
|
-
Term: handle
|
140
|
-
Concept Type: Short Text (Type)
|
141
|
-
|
142
|
-
Term: image location
|
143
|
-
Concept Type: Short Text (Type)
|
144
|
-
|
145
|
-
Term: image size
|
146
|
-
Concept Type: Big Integer (Type)
|
147
|
-
|
148
|
-
Term: install date
|
149
|
-
Concept Type: Date Time (Type)
|
150
|
-
|
151
|
-
Term: invalidation reason
|
152
|
-
Concept Type: Text (Type)
|
153
|
-
|
154
|
-
Term: ip address
|
155
|
-
Concept Type: Short Text (Type)
|
156
|
-
|
157
|
-
Term: known issue list
|
158
|
-
Concept Type: Text (Type)
|
159
|
-
|
160
|
-
Term: label name
|
161
|
-
Concept Type: Short Text (Type)
|
162
|
-
|
163
|
-
Term: last connectivity event
|
164
|
-
Concept Type: Date Time (Type)
|
165
|
-
|
166
|
-
Term: last heartbeat
|
167
|
-
Concept Type: Date Time (Type)
|
168
|
-
|
169
|
-
Term: last vpn event
|
170
|
-
Concept Type: Date Time (Type)
|
171
|
-
|
172
|
-
Term: local id
|
173
|
-
Concept Type: Short Text (Type)
|
174
|
-
|
175
|
-
Term: logo
|
176
|
-
Concept Type: Text (Type)
|
177
|
-
|
178
|
-
Term: mac address
|
179
|
-
Concept Type: Short Text (Type)
|
180
|
-
|
181
|
-
Term: memory usage
|
182
|
-
Concept Type: Integer (Type)
|
183
|
-
|
184
|
-
Term: memory total
|
185
|
-
Concept Type: Integer (Type)
|
186
|
-
|
187
|
-
Term: storage block device
|
188
|
-
Concept Type: Short Text (Type)
|
189
|
-
|
190
|
-
Term: storage usage
|
191
|
-
Concept Type: Integer (Type)
|
192
|
-
|
193
|
-
Term: storage total
|
194
|
-
Concept Type: Integer (Type)
|
195
|
-
|
196
|
-
Term: cpu usage
|
197
|
-
Concept Type: Integer (Type)
|
198
|
-
|
199
|
-
Term: cpu temp
|
200
|
-
Concept Type: Integer (Type)
|
201
|
-
|
202
|
-
Term: cpu id
|
203
|
-
Concept Type: Short Text (Type)
|
204
|
-
|
205
|
-
Term: maximum device count
|
206
|
-
Concept Type: Integer (Type)
|
207
|
-
|
208
|
-
Term: message
|
209
|
-
Concept Type: Text (Type)
|
210
|
-
|
211
|
-
Term: note
|
212
|
-
Concept Type: Text (Type)
|
213
|
-
|
214
|
-
Term: os version
|
215
|
-
Concept Type: Short Text (Type)
|
216
|
-
|
217
|
-
Term: os version range
|
218
|
-
Concept Type: Short Text (Type)
|
219
|
-
|
220
|
-
Term: os variant
|
221
|
-
Concept Type: Short Text (Type)
|
222
|
-
|
223
|
-
Term: overall status
|
224
|
-
Concept Type: Short Text (Type)
|
225
|
-
|
226
|
-
Term: overall progress
|
227
|
-
Concept Type: Integer (Type)
|
228
|
-
|
229
|
-
Term: phase
|
230
|
-
Concept Type: Short Text (Type)
|
231
|
-
|
232
|
-
Term: project type
|
233
|
-
Concept Type: Short Text (Type)
|
234
|
-
|
235
|
-
Term: provisioning progress
|
236
|
-
Concept Type: Integer (Type)
|
237
|
-
|
238
|
-
Term: provisioning state
|
239
|
-
Concept Type: Short Text (Type)
|
240
|
-
|
241
|
-
Term: public address
|
242
|
-
Concept Type: Short Text (Type)
|
243
|
-
|
244
|
-
Term: public key
|
245
|
-
Concept Type: Text (Type)
|
246
|
-
|
247
|
-
Term: push timestamp
|
248
|
-
Concept Type: Date Time (Type)
|
249
|
-
|
250
|
-
Term: raw version
|
251
|
-
Concept Type: Short Text (Type)
|
252
|
-
|
253
|
-
Term: release version
|
254
|
-
Concept Type: Short Text (Type)
|
255
|
-
|
256
|
-
Term: revision
|
257
|
-
Concept Type: Integer (Type)
|
258
|
-
|
259
|
-
Term: scope
|
260
|
-
Concept Type: Short Text (Type)
|
261
|
-
|
262
|
-
Term: semver build
|
263
|
-
Concept Type: Short Text (Type)
|
264
|
-
|
265
|
-
Term: semver major
|
266
|
-
Concept Type: Integer (Type)
|
267
|
-
|
268
|
-
Term: semver minor
|
269
|
-
Concept Type: Integer (Type)
|
270
|
-
|
271
|
-
Term: semver patch
|
272
|
-
Concept Type: Integer (Type)
|
273
|
-
|
274
|
-
Term: semver prerelease
|
275
|
-
Concept Type: Short Text (Type)
|
276
|
-
|
277
|
-
Term: semver
|
278
|
-
Concept Type: Short Text (Type)
|
279
|
-
|
280
|
-
Term: service name
|
281
|
-
Concept Type: Short Text (Type)
|
282
|
-
|
283
|
-
Term: service type
|
284
|
-
Concept Type: Short Text (Type)
|
285
|
-
|
286
|
-
Term: slug
|
287
|
-
Concept Type: Short Text (Type)
|
288
|
-
|
289
|
-
Term: source
|
290
|
-
Concept Type: Short Text (Type)
|
291
|
-
|
292
|
-
Term: start timestamp
|
293
|
-
Concept Type: Date Time (Type)
|
294
|
-
|
295
|
-
Term: status
|
296
|
-
Concept Type: Short Text (Type)
|
297
|
-
|
298
|
-
Term: supervisor version
|
299
|
-
Concept Type: Short Text (Type)
|
300
|
-
|
301
|
-
Term: tag key
|
302
|
-
Concept Type: Short Text (Type)
|
303
|
-
|
304
|
-
Term: title
|
305
|
-
Concept Type: Short Text (Type)
|
306
|
-
|
307
|
-
Term: update timestamp
|
308
|
-
Concept Type: Date Time (Type)
|
309
|
-
|
310
|
-
Term: uuid
|
311
|
-
Concept Type: Text (Type)
|
312
|
-
|
313
|
-
Term: value
|
314
|
-
Concept Type: Text (Type)
|
315
|
-
|
316
|
-
Term: variant
|
317
|
-
Concept Type: Short Text (Type)
|
318
|
-
|
319
|
-
Term: version
|
320
|
-
Concept Type: Integer (Type)
|
321
|
-
|
322
|
-
|
323
|
-
-- Complex terms
|
324
|
-
|
325
|
-
Term: application type
|
326
|
-
Term: config
|
327
|
-
Term: cpu architecture
|
328
|
-
Term: device family
|
329
|
-
Term: device manufacturer
|
330
|
-
Term: device type
|
331
|
-
Term: image
|
332
|
-
Term: organization
|
333
|
-
Term: service instance
|
334
|
-
|
335
|
-
Term: application
|
336
|
-
Concept Type: actor (Auth)
|
337
|
-
|
338
|
-
Fact type: application [should track latest release]
|
339
|
-
|
340
|
-
Fact type: application is of class
|
341
|
-
Necessity: each application is of exactly one class.
|
342
|
-
Definition: "fleet" or "block" or "app"
|
343
|
-
|
344
|
-
Fact type: application has env var name
|
345
|
-
Term Form: application environment variable
|
346
|
-
Database Table Name: application environment variable
|
347
|
-
|
348
|
-
Fact type: application has config var name
|
349
|
-
Term Form: application config variable
|
350
|
-
Database Table Name: application config variable
|
351
|
-
|
352
|
-
Fact type: application has service name
|
353
|
-
Term Form: service
|
354
|
-
Database Table Name: service
|
355
|
-
|
356
|
-
Fact type: service has label name
|
357
|
-
Term Form: service label
|
358
|
-
Database Table Name: service label
|
359
|
-
|
360
|
-
Fact type: service has name (Auth)
|
361
|
-
Term Form: service environment variable
|
362
|
-
Database Table Name: service environment variable
|
363
|
-
|
364
|
-
Fact type: application has tag key
|
365
|
-
Term Form: application tag
|
366
|
-
Database Table Name: application tag
|
367
|
-
Necessity: each application tag has a tag key that has a Length (Type) that is greater than 0.
|
368
|
-
|
369
|
-
Term: device
|
370
|
-
Concept Type: actor (Auth)
|
371
|
-
|
372
|
-
Fact type: device has api heartbeat state
|
373
|
-
Necessity: each device has exactly one api heartbeat state
|
374
|
-
Definition: "online" or "offline" or "timeout" or "unknown"
|
375
|
-
|
376
|
-
Fact type: device has env var name
|
377
|
-
Term Form: device environment variable
|
378
|
-
Database Table Name: device environment variable
|
379
|
-
|
380
|
-
Fact type: device has config var name
|
381
|
-
Term Form: device config variable
|
382
|
-
Database Table Name: device config variable
|
383
|
-
|
384
|
-
Fact type: device installs image
|
385
|
-
Term Form: image install
|
386
|
-
Database Table Name: image install
|
387
|
-
|
388
|
-
Fact type: device installs service
|
389
|
-
Term Form: service install
|
390
|
-
Database Table Name: service install
|
391
|
-
|
392
|
-
Fact type: service install has name (Auth)
|
393
|
-
Term Form: device service environment variable
|
394
|
-
Database Table Name: device service environment variable
|
395
|
-
|
396
|
-
Fact type: device has tag key
|
397
|
-
Term Form: device tag
|
398
|
-
Database Table Name: device tag
|
399
|
-
Necessity: each device tag has a tag key that has a Length (Type) that is greater than 0.
|
400
|
-
|
401
|
-
Term: release
|
402
|
-
|
403
|
-
Fact type: release has tag key
|
404
|
-
Term Form: release tag
|
405
|
-
Database Table Name: release tag
|
406
|
-
Necessity: each release tag has a tag key that has a Length (Type) that is greater than 0.
|
407
|
-
|
408
|
-
Fact type: image is part of release
|
409
|
-
Synonymous Form: release contains image
|
410
|
-
Term Form: release image
|
411
|
-
|
412
|
-
Fact type: release image has label name
|
413
|
-
Term Form: image label
|
414
|
-
Database Table Name: image label
|
415
|
-
|
416
|
-
Fact type: release image has name (Auth)
|
417
|
-
Term Form: image environment variable
|
418
|
-
Database Table Name: image environment variable
|
419
|
-
|
420
|
-
Fact type: user (Auth) is member of organization
|
421
|
-
Synonymous Form: organization includes user (Auth)
|
422
|
-
Database Table Name: organization membership
|
423
|
-
Term Form: organization membership
|
424
|
-
|
425
|
-
|
426
|
-
-- organization
|
427
|
-
|
428
|
-
Fact type: organization has name (Auth)
|
429
|
-
Necessity: each organization has exactly one name (Auth).
|
430
|
-
Necessity: each name (Auth) of an organization, has a Length (Type) that is greater than 0.
|
431
|
-
Fact type: organization has handle
|
432
|
-
Necessity: each organization has exactly one handle.
|
433
|
-
Necessity: each handle is of exactly one organization.
|
434
|
-
Necessity: each handle of an organization, has a Length (Type) that is greater than 0.
|
435
|
-
|
436
|
-
|
437
|
-
-- user
|
438
|
-
|
439
|
-
Fact type: user (Auth) has email
|
440
|
-
Necessity: each user (Auth) has at most one email.
|
441
|
-
Necessity: each user (Auth) that has an email, has an email that has a Length (Type) that is greater than 4.
|
442
|
-
Necessity: each email is of exactly one user (Auth).
|
443
|
-
|
444
|
-
Fact type: user (Auth) has public key
|
445
|
-
Term Form: user public key
|
446
|
-
|
447
|
-
|
448
|
-
-- user public key
|
449
|
-
|
450
|
-
Fact type: user public key has title
|
451
|
-
Necessity: each user public key has exactly one title
|
452
|
-
|
453
|
-
|
454
|
-
-- application type
|
455
|
-
|
456
|
-
Fact type: application type has name (Auth)
|
457
|
-
Necessity: each application type has exactly one name (Auth)
|
458
|
-
Fact type: application type supports web url
|
459
|
-
Fact type: application type supports multicontainer
|
460
|
-
Fact type: application type supports gateway mode
|
461
|
-
Fact type: application type needs os version range
|
462
|
-
Necessity: each application type needs at most one os version range
|
463
|
-
Fact type: application type requires payment
|
464
|
-
Fact type: application type is legacy
|
465
|
-
Fact type: application type has slug
|
466
|
-
Necessity: each application type has exactly one slug
|
467
|
-
Necessity: each slug is of exactly one application type
|
468
|
-
Fact type: application type has description (Auth)
|
469
|
-
Necessity: each application type has at most one description (Auth).
|
470
|
-
Fact type: application type has maximum device count
|
471
|
-
Necessity: each application type has at most one maximum device count
|
472
|
-
|
473
|
-
|
474
|
-
-- application
|
475
|
-
|
476
|
-
Fact type: application has organization
|
477
|
-
Synonymous Form: organization has application
|
478
|
-
Necessity: each application has exactly one organization.
|
479
|
-
Fact type: application has app name
|
480
|
-
Necessity: each application has exactly one app name
|
481
|
-
Necessity: each application has an app name that has a Length (Type) that is greater than or equal to 4 and is less than or equal to 100.
|
482
|
-
Fact type: application has slug
|
483
|
-
Necessity: each application has exactly one slug
|
484
|
-
Necessity: each slug is of exactly one application
|
485
|
-
Fact type: application is for device type
|
486
|
-
Synonymous Form: device type is default for application
|
487
|
-
Necessity: each application is for exactly one device type
|
488
|
-
Fact type: application should be running release
|
489
|
-
Synonymous Form: release should be running on application
|
490
|
-
Necessity: each application should be running at most one release.
|
491
|
-
Fact type: application has application type
|
492
|
-
Necessity: each application has exactly one application type.
|
493
|
-
Fact type: application is host
|
494
|
-
Fact type: application is archived
|
495
|
-
Fact type: application has uuid
|
496
|
-
Necessity: each application has exactly one uuid.
|
497
|
-
Necessity: each uuid is of exactly one application.
|
498
|
-
Necessity: each application has a uuid that has a Length (Type) that is equal to 32.
|
499
|
-
Fact type: application is public
|
500
|
-
|
501
|
-
-- service instance
|
502
|
-
|
503
|
-
Fact type: service instance has service type
|
504
|
-
Necessity: each service instance has exactly one service type.
|
505
|
-
Fact type: service instance has ip address
|
506
|
-
Necessity: each service instance has exactly one ip address.
|
507
|
-
Fact type: service instance has last heartbeat
|
508
|
-
Necessity: each service instance has exactly one last heartbeat.
|
509
|
-
|
510
|
-
|
511
|
-
-- device
|
512
|
-
|
513
|
-
Fact type: device has uuid
|
514
|
-
Necessity: each device has exactly one uuid.
|
515
|
-
Necessity: each uuid is of exactly one device.
|
516
|
-
Fact type: device has local id
|
517
|
-
Necessity: each device has at most one local id.
|
518
|
-
Fact type: device has device name
|
519
|
-
Necessity: each device has at most one device name.
|
520
|
-
Fact type: device has note
|
521
|
-
Necessity: each device has at most one note.
|
522
|
-
Fact type: device is of device type
|
523
|
-
Synonymous Form: device type describes device
|
524
|
-
Necessity: each device is of exactly one device type.
|
525
|
-
Fact type: device belongs to application
|
526
|
-
Synonymous Form: application owns device
|
527
|
-
Necessity: each device belongs to at most one application.
|
528
|
-
Fact type: device is online
|
529
|
-
Fact type: device has last connectivity event
|
530
|
-
Necessity: each device has at most one last connectivity event.
|
531
|
-
Fact type: device is connected to vpn
|
532
|
-
Fact type: device has last vpn event
|
533
|
-
Necessity: each device has at most one last vpn event.
|
534
|
-
Fact type: device is locked until date
|
535
|
-
Necessity: each device is locked until at most one date.
|
536
|
-
Fact type: device has public address
|
537
|
-
Necessity: each device has at most one public address
|
538
|
-
Fact type: device has ip address
|
539
|
-
Necessity: each device has at most one ip address
|
540
|
-
Fact type: device has mac address
|
541
|
-
Necessity: each device has at most one mac address
|
542
|
-
-- FIXME: The core API has no support for "Device Public URLs",
|
543
|
-
-- but w/o this shim some CLI commands fail since they do select it,
|
544
|
-
-- Eg: A mechanism that silently unknown selected fields on versioned models
|
545
|
-
-- would allow us to drop this.
|
546
|
-
Fact type: device is web accessible
|
547
|
-
Fact type: device has memory usage
|
548
|
-
Necessity: each device has at most one memory usage
|
549
|
-
Fact type: device has memory total
|
550
|
-
Necessity: each device has at most one memory total
|
551
|
-
Fact type: device has storage block device
|
552
|
-
Necessity: each device has at most one storage block device
|
553
|
-
Fact type: device has storage usage
|
554
|
-
Necessity: each device has at most one storage usage
|
555
|
-
Fact type: device has storage total
|
556
|
-
Necessity: each device has at most one storage total
|
557
|
-
Fact type: device has cpu usage
|
558
|
-
Necessity: each device has at most one cpu usage
|
559
|
-
Fact type: device has cpu temp
|
560
|
-
Necessity: each device has at most one cpu temp
|
561
|
-
Fact type: device is undervolted
|
562
|
-
Fact type: device has cpu id
|
563
|
-
Necessity: each device has at most one cpu id
|
564
|
-
Fact type: device is running release
|
565
|
-
Synonymous Form: release is running on device
|
566
|
-
Necessity: each device is running at most one release.
|
567
|
-
Reference Type: informative
|
568
|
-
Fact type: device has download progress
|
569
|
-
Necessity: each device has at most one download progress.
|
570
|
-
Fact type: device has status
|
571
|
-
Necessity: each device has at most one status.
|
572
|
-
Fact type: device has os version
|
573
|
-
Necessity: each device has at most one os version
|
574
|
-
Fact type: device has os variant
|
575
|
-
Necessity: each device has at most one os variant
|
576
|
-
Fact type: device has overall status
|
577
|
-
Necessity: each device has exactly one overall status
|
578
|
-
Fact type: device has overall progress
|
579
|
-
Necessity: each device has at most one overall progress
|
580
|
-
Fact type: device has supervisor version
|
581
|
-
Necessity: each device has at most one supervisor version
|
582
|
-
Fact type: device has provisioning progress
|
583
|
-
Necessity: each device has at most one provisioning progress
|
584
|
-
Fact type: device has provisioning state
|
585
|
-
Necessity: each device has at most one provisioning state
|
586
|
-
Fact type: device has api port
|
587
|
-
Necessity: each device has at most one api port
|
588
|
-
Fact type: device has api secret
|
589
|
-
Necessity: each device has at most one api secret
|
590
|
-
Fact type: device is managed by service instance
|
591
|
-
Synonymous Form: service instance manages device
|
592
|
-
Necessity: each device is managed by at most one service instance
|
593
|
-
Fact type: device is pinned on release
|
594
|
-
Synonymous Form: release is pinned to device
|
595
|
-
Necessity: each device is pinned on at most one release
|
596
|
-
Fact type: device should be running release
|
597
|
-
Synonymous Form: release should be running on device
|
598
|
-
Necessity: each device should be running at most one release
|
599
|
-
Note: Computed as device is pinned on release ?? application should be running release.
|
600
|
-
Fact type: device should be operated by release
|
601
|
-
Synonymous Form: release should operate device
|
602
|
-
Necessity: each device should be operated by at most one release
|
603
|
-
Fact type: device should be managed by release
|
604
|
-
Synonymous Form: release should manage device
|
605
|
-
Necessity: each device should be managed by at most one release
|
606
|
-
|
607
|
-
|
608
|
-
-- application config variable
|
609
|
-
|
610
|
-
Fact type: application config variable has value
|
611
|
-
Necessity: each application config variable has exactly one value.
|
612
|
-
|
613
|
-
|
614
|
-
-- device config variable
|
615
|
-
|
616
|
-
Fact type: device config variable has value
|
617
|
-
Necessity: each device config variable has exactly one value.
|
618
|
-
|
619
|
-
-- device type
|
620
|
-
|
621
|
-
Fact type: device type has slug
|
622
|
-
Necessity: each device type has exactly one slug
|
623
|
-
Necessity: each slug is of exactly one device type
|
624
|
-
|
625
|
-
Fact type: device type has name (Auth)
|
626
|
-
Necessity: each device type has exactly one name (Auth)
|
627
|
-
|
628
|
-
Fact type: device type is of cpu architecture
|
629
|
-
Synonymous form: device type supports cpu architecture
|
630
|
-
Synonymous form: cpu architecture is supported by device type
|
631
|
-
Necessity: each device type supports exactly one cpu architecture
|
632
|
-
|
633
|
-
Fact type: device type has logo
|
634
|
-
Necessity: each device type has at most one logo
|
635
|
-
|
636
|
-
Fact type: device type has contract
|
637
|
-
Necessity: each device type has at most one contract
|
638
|
-
|
639
|
-
Fact type: device type belongs to device family
|
640
|
-
Synonymous form: device family has device type
|
641
|
-
Necessity: each device type belongs to at most one device family
|
642
|
-
|
643
|
-
Fact type: device type is referenced by alias
|
644
|
-
Synonymous form: alias references device type
|
645
|
-
Term Form: device type alias
|
646
|
-
Database Table Name: device type alias
|
647
|
-
Necessity: each alias references exactly one device type
|
648
|
-
|
649
|
-
-- cpu architecture
|
650
|
-
|
651
|
-
Fact type: cpu architecture has slug
|
652
|
-
Necessity: each cpu architecture has exactly one slug
|
653
|
-
Necessity: each slug is of exactly one cpu architecture
|
654
|
-
|
655
|
-
-- device manufacturer
|
656
|
-
|
657
|
-
Fact type: device manufacturer has slug
|
658
|
-
Necessity: each device manufacturer has exactly one slug
|
659
|
-
Necessity: each slug is of exactly one device manufacturer
|
660
|
-
Fact type: device manufacturer has name (Auth)
|
661
|
-
Necessity: each device manufacturer has exactly one name (Auth)
|
662
|
-
|
663
|
-
-- device family
|
664
|
-
|
665
|
-
Fact type: device family has slug
|
666
|
-
Necessity: each device family has exactly one slug
|
667
|
-
Necessity: each slug is of exactly one device family
|
668
|
-
Fact type: device family has name (Auth)
|
669
|
-
Necessity: each device family has exactly one name (Auth)
|
670
|
-
Fact type: device family is manufactured by device manufacturer
|
671
|
-
Necessity: each device family is manufactured by at most one device manufacturer
|
672
|
-
|
673
|
-
-- release
|
674
|
-
|
675
|
-
Fact type: release belongs to application
|
676
|
-
Synonymous Form: application owns release
|
677
|
-
Necessity: each release belongs to exactly one application.
|
678
|
-
Fact type: release has commit
|
679
|
-
Necessity: each release has exactly one commit.
|
680
|
-
Fact type: release has composition
|
681
|
-
Necessity: each release has exactly one composition.
|
682
|
-
Fact type: release has status
|
683
|
-
Necessity: each release has exactly one status.
|
684
|
-
Fact type: release has source
|
685
|
-
Necessity: each release has exactly one source.
|
686
|
-
Fact type: release has build log
|
687
|
-
Necessity: each release has at most one build log.
|
688
|
-
Fact type: release is invalidated
|
689
|
-
Fact type: release has start timestamp
|
690
|
-
Necessity: each release has exactly one start timestamp.
|
691
|
-
Fact type: release has end timestamp
|
692
|
-
Necessity: each release has at most one end timestamp.
|
693
|
-
Fact type: release has update timestamp
|
694
|
-
Necessity: each release has exactly one update timestamp.
|
695
|
-
Fact type: release has release version
|
696
|
-
Necessity: each release has at most one release version
|
697
|
-
Note: Deprecated.
|
698
|
-
Fact type: release has contract
|
699
|
-
Necessity: each release has at most one contract
|
700
|
-
Fact type: release is passing tests
|
701
|
-
Fact type: release is finalized at date
|
702
|
-
Necessity: each release is finalized at at most one date.
|
703
|
-
Fact type: release has phase
|
704
|
-
Necessity: each release has at most one phase.
|
705
|
-
Definition: "next" or "current" or "sunset" or "end-of-life"
|
706
|
-
Fact type: release is final
|
707
|
-
Fact type: release has semver
|
708
|
-
Necessity: each release has exactly one semver.
|
709
|
-
Fact type: release has semver major
|
710
|
-
Necessity: each release has exactly one semver major.
|
711
|
-
Fact type: release has semver minor
|
712
|
-
Necessity: each release has exactly one semver minor.
|
713
|
-
Fact type: release has semver patch
|
714
|
-
Necessity: each release has exactly one semver patch.
|
715
|
-
Fact type: release has semver prerelease
|
716
|
-
Necessity: each release has exactly one semver prerelease.
|
717
|
-
Fact type: release has semver build
|
718
|
-
Necessity: each release has exactly one semver build.
|
719
|
-
Fact type: release has variant
|
720
|
-
Necessity: each release has exactly one variant.
|
721
|
-
Fact type: release has revision
|
722
|
-
Necessity: each release has at most one revision.
|
723
|
-
Necessity: each release that has a revision, has a revision that is greater than or equal to 0.
|
724
|
-
Fact type: release has raw version
|
725
|
-
Necessity: each release has exactly one raw version.
|
726
|
-
Fact type: release has version
|
727
|
-
Necessity: each release has exactly one version.
|
728
|
-
Note: The release.version's field type is overriden to JSON by changing the generated abstract sql.
|
729
|
-
Fact type: release has known issue list
|
730
|
-
Necessity: each release has at most one known issue list.
|
731
|
-
Fact type: release has note
|
732
|
-
Necessity: each release has at most one note.
|
733
|
-
Fact type: release has invalidation reason
|
734
|
-
Necessity: each release has at most one invalidation reason.
|
735
|
-
Necessity: each release that has an invalidation reason, is invalidated.
|
736
|
-
|
737
|
-
|
738
|
-
-- service environment variable
|
739
|
-
|
740
|
-
Fact type: service environment variable has value
|
741
|
-
Necessity: each service environment variable has exactly one value.
|
742
|
-
|
743
|
-
|
744
|
-
-- image
|
745
|
-
|
746
|
-
Fact type: image has start timestamp
|
747
|
-
Necessity: each image has exactly one start timestamp.
|
748
|
-
Fact type: image has end timestamp
|
749
|
-
Necessity: each image has at most one end timestamp.
|
750
|
-
Fact type: image has dockerfile
|
751
|
-
Necessity: each image has at most one dockerfile.
|
752
|
-
Fact type: image is a build of service
|
753
|
-
Synonymous Form: service is built by image
|
754
|
-
Necessity: each image is a build of exactly one service.
|
755
|
-
Fact type: image has image size
|
756
|
-
Necessity: each image has at most one image size.
|
757
|
-
Fact type: image is stored at image location
|
758
|
-
Synonymous Form: image location hosts image
|
759
|
-
Necessity: each image is stored at exactly one image location.
|
760
|
-
Necessity: each image location hosts exactly one image.
|
761
|
-
Fact type: image has project type
|
762
|
-
Necessity: each image has at most one project type.
|
763
|
-
Fact type: image has error message
|
764
|
-
Necessity: each image has at most one error message
|
765
|
-
Fact type: image has build log
|
766
|
-
Necessity: each image has at most one build log.
|
767
|
-
Fact type: image has push timestamp
|
768
|
-
Necessity: each image has at most one push timestamp.
|
769
|
-
Fact type: image has status
|
770
|
-
Necessity: each image has exactly one status.
|
771
|
-
Fact type: image has content hash
|
772
|
-
Necessity: each image has at most one content hash.
|
773
|
-
Fact type: image has contract
|
774
|
-
Necessity: each image has at most one contract
|
775
|
-
|
776
|
-
|
777
|
-
-- image label
|
778
|
-
|
779
|
-
Fact type: image label has value
|
780
|
-
Necessity: each image label has exactly one value.
|
781
|
-
|
782
|
-
|
783
|
-
-- service label
|
784
|
-
|
785
|
-
Fact type: service label has value
|
786
|
-
Necessity: each service label has exactly one value.
|
787
|
-
|
788
|
-
|
789
|
-
-- device environment variable
|
790
|
-
|
791
|
-
Fact type: device environment variable has value
|
792
|
-
Necessity: each device environment variable has exactly one value.
|
793
|
-
|
794
|
-
|
795
|
-
-- application environment variable
|
796
|
-
|
797
|
-
Fact type: application environment variable has value
|
798
|
-
Necessity: each application environment variable has exactly one value.
|
799
|
-
|
800
|
-
|
801
|
-
-- image environment variable
|
802
|
-
|
803
|
-
Fact type: image environment variable has value
|
804
|
-
Necessity: each image environment variable has exactly one value.
|
805
|
-
|
806
|
-
|
807
|
-
-- device service environment variable
|
808
|
-
|
809
|
-
Fact type: device service environment variable has value
|
810
|
-
Necessity: each device service environment variable has exactly one value.
|
811
|
-
|
812
|
-
|
813
|
-
-- application tag
|
814
|
-
|
815
|
-
Fact type: application tag has value
|
816
|
-
Necessity: each application tag has exactly one value.
|
817
|
-
|
818
|
-
|
819
|
-
-- device tag
|
820
|
-
|
821
|
-
Fact type: device tag has value
|
822
|
-
Necessity: each device tag has exactly one value.
|
823
|
-
|
824
|
-
|
825
|
-
-- release tag
|
826
|
-
|
827
|
-
Fact type: release tag has value
|
828
|
-
Necessity: each release tag has exactly one value.
|
829
|
-
|
830
|
-
|
831
|
-
-- image install
|
832
|
-
|
833
|
-
Fact type: image install has install date
|
834
|
-
Necessity: each image install has exactly one install date.
|
835
|
-
Fact type: image install has download progress
|
836
|
-
Necessity: each image install has at most one download progress.
|
837
|
-
Fact type: image install has status
|
838
|
-
Necessity: each image install has exactly one status.
|
839
|
-
Fact type: image install is provided by release
|
840
|
-
Synonymous Form: release provides image install
|
841
|
-
Necessity: each image install is provided by exactly one release.
|
842
|
-
|
843
|
-
|
844
|
-
-- config
|
845
|
-
|
846
|
-
Fact type: config has key (Auth)
|
847
|
-
Necessity: each config has exactly one key (Auth).
|
848
|
-
Fact type: config has value
|
849
|
-
Necessity: each config has exactly one value.
|
850
|
-
Fact type: config has scope
|
851
|
-
Necessity: each config has at most one scope.
|
852
|
-
Fact type: config has description (Auth)
|
853
|
-
Necessity: each config has at most one description (Auth).
|
854
|
-
|
855
|
-
|
856
|
-
-- Rules
|
857
|
-
|
858
|
-
Rule: It is necessary that each application that owns a release1 that has a status that is equal to "success" and is not invalidated and has a release version, owns at most one release2 that has a status that is equal to "success" and is not invalidated and has a release version that is of the release1.
|
859
|
-
Rule: It is necessary that each image that has a status that is equal to "success", has a push timestamp.
|
860
|
-
Rule: It is necessary that each application that owns a release1 that has a status that is equal to "success" and has a commit1, owns at most one release2 that has a status that is equal to "success" and has a commit2 that is equal to the commit1.
|
861
|
-
Rule: It is necessary that each application that owns a release1 that has a revision, owns at most one release2 that has a semver major that is of the release1 and has a semver minor that is of the release1 and has a semver patch that is of the release1 and has a semver prerelease that is of the release1 and has a variant that is of the release1 and has a revision that is of the release1.
|
862
|
-
Rule: It is necessary that each release that is pinned to a device, has a status that is equal to "success" and belongs to an application1 that the device belongs to.
|
863
|
-
Rule: It is necessary that each release that should be running on an application, has a status that is equal to "success" and belongs to the application.
|
864
|
-
Rule: It is necessary that each application that owns a release that contains at least 2 images, has an application type that supports multicontainer.
|
865
|
-
Rule: It is necessary that each release that should operate a device, has a status that is equal to "success".
|
866
|
-
Rule: It is necessary that each release that should operate a device that is of a device type, belongs to an application that is host and is for the device type.
|
867
|
-
-- native supervisor release rules, separated for legibility
|
868
|
-
Rule: It is necessary that each release that should manage a device, has a status that is equal to "success" and has a semver major that is greater than 0 or has a semver minor that is greater than 0 or has a semver patch that is greater than 0.
|
869
|
-
-- The first part of this rule is meant to prevent accidentally setting a host extension as a supervisor (i.e., another public + non-host app)
|
870
|
-
Rule: It is necessary that each release that should manage a device that is of a device type1, belongs to an application that is public and is not host and has a slug that is equal to "balena_os/aarch64-supervisor" or "balena_os/amd64-supervisor" or "balena_os/armv7hf-supervisor" or "balena_os/i386-supervisor" or "balena_os/i386-nlp-supervisor" or "balena_os/rpi-supervisor" and is for a device type2 that is of a cpu architecture that is supported by the device type1.
|
871
|
-
|