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
config|manifest-list: Punt to runtime-spec for platform OS/arch
The new wording makes it clear that implementations are free to
support only a subset of OSes or architectures, and both
implementations and blobs are free to support/use OSes and
architectures not listed in runtime-spec. Leaning on runtime-spec
here lets us consolidate any OCI GOOS/GOARCH extension in a single
location (runtime-spec).
I think it is unfortunate that the manifest-list and config types have
inconsistent platform formats. It would be nice to give config the
same 'platform' nesting as manifest-list, and to have both locations
support os.version and the other settings which are currently only in
manifest-list (or to drop those settings). But I'll leave fixing that
for later work ;).
Signed-off-by: W. Trevor King <[email protected]>
Copy file name to clipboardExpand all lines: config.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,16 +60,12 @@ Note: Any OPTIONAL field MAY also be set to null, which is equivalent to being a
60
60
-**architecture***string*, REQUIRED
61
61
62
62
The CPU architecture which the binaries in this image are built to run on.
63
-
Possible values include: `386`, `amd64`, `arm`, `arm64`.
64
-
More values may be supported in the future and any of these may or may not be supported by a given container runtime implementation.
65
-
New entries SHOULD be submitted to this specification for standardization and be inspired by the [Go language documentation for $GOOS and $GOARCH](https://golang.org/doc/install/source#environment).
63
+
Configurations SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.arch`][runtime-platform].
66
64
67
65
-**os***string*, REQUIRED
68
66
69
67
The name of the operating system which the image is built to run on.
70
-
Possible values include: `darwin`, `freebsd`, `linux`.
71
-
More values may be supported in the future and any of these may or may not be supported by a given container runtime implementation.
72
-
New entries SHOULD be submitted to this specification for standardization and be inspired by the [Go language documentation for $GOOS and $GOARCH](https://golang.org/doc/install/source#environment).
68
+
Configurations SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.os`][runtime-platform].
73
69
74
70
-**config***object*, OPTIONAL
75
71
@@ -235,3 +231,5 @@ Here is an example image configuration JSON document:
Copy file name to clipboardExpand all lines: manifest-list.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,15 +38,16 @@ This section defines the `application/vnd.oci.image.manifest.list.v1+json` [medi
38
38
-**`platform`***object*
39
39
40
40
This REQUIRED property describes the platform which the image in the manifest runs on.
41
-
A full list of valid operating system and architecture values are listed in the [Go language documentation for `$GOOS` and `$GOARCH`](https://golang.org/doc/install/source#environment)
42
41
43
42
-**`architecture`***string*
44
43
45
-
This REQUIRED property specified the CPU architecture, for example `amd64` or `ppc64le`.
44
+
This REQUIRED property specified the CPU architecture.
45
+
Manifest lists SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.arch`][runtime-platform].
46
46
47
47
-**`os`***string*
48
48
49
-
This REQUIRED property specifies the operating system, for example `linux` or `windows`.
49
+
This REQUIRED property specifies the operating system.
50
+
Manifest lists SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.os`][runtime-platform].
50
51
51
52
-**`os.version`***string*
52
53
@@ -117,3 +118,5 @@ Instead they MUST ignore unknown properties.
0 commit comments