Skip to content

spec: Unclear scope for platform section #725

@wking

Description

@wking

In opencontainers/runtime-tools#347, @Mashimiao was reading the platform section as a restriction on platform.os. Something like:

platform.os may have permissive SHOULD language for valid values, but you can ignore that. Valid configs MUST be using one of these…

I read the spec.md section as a list of certification tracks:

Runtime-tools will have the following certification tracks: …. platform.os allows many other values (e.g. android), and valid configs MAY use those (with questionable usefulness), but there is currently no certification track for them.

The spec should probably be updated to make it very clear which of these interpretations is intended.

With the restrictive approach (where platform.os == "android" was illegal), we should be using something like:

* **`os`** (string, REQUIRED) specifies the operating system family of the container configuration's specified [`root`](#root) file system bundle.
  The runtime MUST generate an error if it does not support the specified **`os`**.
  Bundles MUST use `linux`, `solaris`, or `windows`.

With the permissive approach, we should update the spec section to make it clear that it does not restrict platform.os. And we probably want some notes about what happens in cases where platform.os does not match any of the certification tracks, even if that is “these other configs are possible, but because they have no platform-specific configuration settings, we don't think they are useful enough to be worth a certification track”.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions