-
Notifications
You must be signed in to change notification settings - Fork 652
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
image-index: define platform.os.version on Windows #651
image-index: define platform.os.version on Windows #651
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the alternative to “implementation-defined on all OSes” would be “implementation-defined on windows
, and reserved on other OSes”. In the absence of anyone asking for os.version
outside of Windows, I'd prefer reserving the field there. But the consistency of “implementation-defined everywhere” is nice too.
image-index.md
Outdated
@@ -55,7 +55,10 @@ For the media type(s) that this document is compatible with, see the [matrix][ma | |||
|
|||
- **`os.version`** *string* | |||
|
|||
This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | |||
This OPTIONAL property specifies the version of the operating system included in the layers specified by the manifest. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The operating system isn't included in the layers. Maybe:
This OPTIONAL property specifies the version of the operating system targeted by the referenced blob.
That also gets us away from using “manifest”, because while image-index.md
still talks about manifests
as a list of manifests, the non-manifest example in image-layout.md
shows that manifests
is no longer restricted to just manifests. I'd thought the wording around manifests
was going to be generalized, but that doesn't seem to have happened yet. I think changing the manifests
wording is out of scope for this PR, but I'd rather not dig the current hole any deeper ;).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
image-index.md
Outdated
@@ -55,7 +55,10 @@ For the media type(s) that this document is compatible with, see the [matrix][ma | |||
|
|||
- **`os.version`** *string* | |||
|
|||
This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | |||
This OPTIONAL property specifies the version of the operating system included in the layers specified by the manifest. | |||
Implementations MAY refuse to use manifests of which `os.version` is not known to work with the host OS version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
“of which” → “if”? Or maybe “where”?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
image-index.md
Outdated
This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | ||
This OPTIONAL property specifies the version of the operating system included in the layers specified by the manifest. | ||
Implementations MAY refuse to use manifests of which `os.version` is not known to work with the host OS version. | ||
When OS is Windows, image indexes SHOULD use, and implementations SHOULD understand quad-notation values of [`System.Version` properties](system-version), `Major.Minor.Build.Revision`. e.g. `10.0.14393.1066`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
“OS is Windows” → “os
is windows
”, and similarly in the following line. And I think we want to be implementation-defined for all OSes, with the Windows matching so fuzzy. @jstarks seemed to be ok with that approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
9ac7ffc
to
20dcb7a
Compare
image-index.md
Outdated
This OPTIONAL property specifies the operating system version, for example `10.0.10586`. | ||
This OPTIONAL property specifies the version of the operating system targeted by the referenced blob. | ||
Implementations MAY refuse to use manifests where `os.version` is not known to work with the host OS version. | ||
When `os` is `windows`, image indexes SHOULD use, and implementations SHOULD understand quad-notation values of `Major.Minor.Build.Revision`. e.g. `10.0.14393.1066`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still think we want this to be implementation-defined on Windows to avoid having to specify the fuzzy matching needed for it to be useful. And @jstarks seemed to be ok with that approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
cc6c36f
to
de499b4
Compare
image-index.md
Outdated
This OPTIONAL property specifies the version of the operating system targeted by the referenced blob. | ||
Implementations MAY refuse to use manifests where `os.version` is not known to work with the host OS version. | ||
The values are implementation-defined when `os` is `windows`. e.g. `10.0.14393.1066`. | ||
The values for other `os`-es SHOULD be submitted to this specification for standardization. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
20dcb7a → de499b4 dropped implementation-defined for non-Windows os
. I think the full section should read:
This OPTIONAL property specifies the version of the operating system targeted by the referenced blob.
Implementations MAY refuse to use manifests where `os.version` is not known to work with the host OS version.
Valid values are implementation-defined.
Once we make the values implementation-defined, there's no clawing it back into the spec without risking breaking changes, so I don't think we should bother asking for submission for standardization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Signed-off-by: Akihiro Suda <[email protected]>
de499b4
to
bc58ab2
Compare
@RobDolinMS can you get some Windows eyes to do a review of this |
Not a maintainer, but LGTM |
review please |
Please refer to #632 for previous discussion.
Signed-off-by: Akihiro Suda [email protected]