@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.
@@ -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
-