Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions pages/learn/develop/multicontainer.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,20 +115,18 @@ In addition to the settings above, there are some {{ $names.company.lower }} spe

### Container requirements

**Note:** Container requirements are available when using balenaCLI >= 21.1.0

An additional set of labels ensures device compatibility for running a service. For example, before updating to a new release, it may be desirable to ensure that the device is running a specific version of [Supervisor][supervisor] or has a specific version of the [NVIDIA Tegra Linux Driver Package][l4t] (L4T).

The following set of requirement labels are enforced via the supervisor. Each service may define one or more requirements and if any of them is not met for any non-[optional](#optional-containers) service, then [the release will be rejected][update-statuses] and no changes will be performed for the new release.

| Label | Description | Valid from Supervisor |
| -------------------------------------------------------------- | ----------------------------------------------------------------------------- | --------------------- |
| io.{{ $names.company.short }}.features.requires.sw.supervisor | Device Supervisor version (specified as a [version range][version-range]) | 10.16.17 |
| io.{{ $names.company.short }}.features.requires.sw.l4t | [L4T][l4t] version (specified as a [version range][version-range]) | 10.16.17 |
| io.{{ $names.company.short }}.features.requires.hw.device-type | The [device type][device-type] as given by `BALENA_MACHINE_NAME` | 11.1.0 |
| io.{{ $names.company.short }}.features.requires.arch.sw | The [architecture][arch] as given by `BALENA_ARCH` | 14.10.11 |
| io.{{ $names.company.short }}.features.requires.sw.balena-os | ${{ names.os.lower }} version (specified as a [version range][version-range]) | 17.4.0 |
| io.{{ $names.company.short }}.features.requires.sw.linux | Linux kernel version (specified as a [version range][version-range]) | 17.4.0 |
| Label | Description | Valid from Supervisor | Valid from CLI |
| -------------------------------------------------------------- | ----------------------------------------------------------------------------- | --------------------- | ------ |
| io.{{ $names.company.short }}.features.requires.sw.supervisor | Device Supervisor version (specified as a [version range][version-range]) | 10.16.17 | 21.1.0 |
| io.{{ $names.company.short }}.features.requires.sw.l4t | [L4T][l4t] version (specified as a [version range][version-range]) | 10.16.17 | 21.1.0 |
| io.{{ $names.company.short }}.features.requires.hw.device-type | The [device type][device-type] as given by `BALENA_MACHINE_NAME` | 11.1.0 | 21.1.0 |
| io.{{ $names.company.short }}.features.requires.arch.sw | The [architecture][arch] as given by `BALENA_ARCH` | 14.10.11 | 21.1.0 |
| io.{{ $names.company.short }}.features.requires.sw.balena-os | ${{ names.os.lower }} version (specified as a [version range][version-range]) | 17.4.2 | TODO |
| io.{{ $names.company.short }}.features.requires.sw.linux | Linux kernel version (specified as a [version range][version-range]) | 17.4.2 | TODO |

For example, the following composition defines requirements on the supervisor and l4t version on the first service, and on the device type and architecture on the second service.

Expand Down