Skip to content
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

Add some text about extensions #164

Merged
merged 1 commit into from
Sep 13, 2016
Merged

Conversation

duglin
Copy link
Collaborator

@duglin duglin commented Jun 26, 2016

Need to be kept in-sync with: opencontainers/runtime-spec#510

Signed-off-by: Doug Davis dug@us.ibm.com

duglin pushed a commit to duglin/runtime-spec that referenced this pull request Jun 26, 2016
Mimic opencontainers/image-spec#164
and they should be kept in-sync

Signed-off-by: Doug Davis <dug@us.ibm.com>
Keys are unique, and best practice is to namespace the keys.
Keys MUST be unique, and best practice is to namespace the keys.
If there are no annotations then this property MAY either be absent or be an empty hashmap.
Implementations that are reading/processing manifest lists MUST NOT generate an error if they encounter an unknown annotation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/unknown annotation/unknown annotation key/ ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@vbatts
Copy link
Member

vbatts commented Jun 26, 2016

SGTM, also, there are two annotations sections in this doc, but your PR only covers one of them.

@duglin
Copy link
Collaborator Author

duglin commented Jun 26, 2016

oops - got the other one now

duglin pushed a commit to duglin/runtime-spec that referenced this pull request Jun 26, 2016
Mimic opencontainers/image-spec#164
and they should be kept in-sync

Signed-off-by: Doug Davis <dug@us.ibm.com>
Keys are unique, and best practice is to namespace the keys.
Keys MUST be unique, and best practice is to namespace the keys.
If there are no annotations then this property MAY either be absent or be an empty hashmap.
Implementations that are reading/processing manifest lists MUST NOT generate an error if they encounter an unknown annotation key.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you want to see this same sentence on the other section too?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

darn- I think I moved instead of copied. fixed -thanks!

duglin pushed a commit to duglin/runtime-spec that referenced this pull request Jul 5, 2016
Mimic opencontainers/image-spec#164
and they should be kept in-sync

Signed-off-by: Doug Davis <dug@us.ibm.com>
Common annotation keys include:
* **created** date on which the image was built (string, timestamps type)
* **authors** contact details of the people or organization responsible for the image (freeform string)
* **homepage** URL to find more information on the image (string, must be a URL with scheme HTTP or HTTPS)
* **documentation** URL to get documentation on the image (string, must be a URL with scheme HTTP or HTTPS)

### Extensibility
The `annotations` property MAY be used as an extensibility point to include additional information that is not defined as part of this specification.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"extension point"

@duglin
Copy link
Collaborator Author

duglin commented Jul 7, 2016

updated based on today's conf call

duglin pushed a commit to duglin/runtime-spec that referenced this pull request Jul 7, 2016
Mimic opencontainers/image-spec#164
and they should be kept in-sync

Signed-off-by: Doug Davis <dug@us.ibm.com>
@@ -85,13 +85,20 @@ A client will distinguish a manifest list from an image manifest based on the Co

This OPTIONAL property contains arbitrary metadata for the manifest list.
Annotations is a key-value, unordered hashmap.
Keys are unique, and best practice is to namespace the keys.
Keys MUST be unique, and best practice is to namespace the keys.
Keys starting with the `opencontainers.org` namespace are reserved and MUST NOT be used.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly I like it. I'm wondering if just saying "... are reserved." would be enough? If not to be used, then should this cover when the are used?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this not org.opencontainers or is that not how it is done here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that ought to be clarified. I had in mind that it would be namespaced more
like an URL, rather than a java package.

On Thu, Jul 7, 2016 at 6:44 PM, Stephen Day notifications@github.com
wrote:

In manifest.md
#164 (comment)
:

@@ -85,13 +85,20 @@ A client will distinguish a manifest list from an image manifest based on the Co

 This OPTIONAL property contains arbitrary metadata for the manifest list.
 Annotations is a key-value, unordered hashmap.
  • Keys are unique, and best practice is to namespace the keys.
  • Keys MUST be unique, and best practice is to namespace the keys.
  • Keys starting with the opencontainers.org namespace are reserved and MUST NOT be used.

Is this not org.opencontainers or is that not how it is done here?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/opencontainers/image-spec/pull/164/files/e969158a0e4371760a72da3492b1b6803b03dc90#r70000997,
or mute the thread
https://github.com/notifications/unsubscribe/AAEF6dv8Fi4ZqyfxK79cBiFMdZTamp01ks5qTYFjgaJpZM4I-n6z
.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On Mon, Jul 18, 2016 at 10:20:04AM -0700, Vincent Batts wrote:

  • Keys are unique, and best practice is to namespace the keys.
  • Keys MUST be unique, and best practice is to namespace the keys.
  • Keys starting with the opencontainers.org namespace are reserved and MUST NOT be used.

that ought to be clarified. I had in mind that it would be namespaced more
like an URL, rather than a java package.

Does it matter? And as long as folks don't have actual hosts like
net.example.com, folks could use both. If we pick one ordering we
don't even have to worry about that, but I don't see any technical
difference between the two orderings.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for all the specifics of clarification, it's interesting you don't see a
difference in the two

On Mon, Jul 18, 2016 at 1:27 PM, W. Trevor King notifications@github.com
wrote:

In manifest.md
#164 (comment)
:

@@ -85,13 +85,20 @@ A client will distinguish a manifest list from an image manifest based on the Co

 This OPTIONAL property contains arbitrary metadata for the manifest list.
 Annotations is a key-value, unordered hashmap.
  • Keys are unique, and best practice is to namespace the keys.
  • Keys MUST be unique, and best practice is to namespace the keys.
  • Keys starting with the opencontainers.org namespace are reserved and MUST NOT be used.

On Mon, Jul 18, 2016 at 10:20:04AM -0700, Vincent Batts wrote: > - Keys
are unique, and best practice is to namespace the keys. > + Keys MUST be
unique, and best practice is to namespace the keys. > + Keys starting with
the opencontainers.org namespace are reserved and MUST NOT be used.
that ought to be clarified. I had in mind that it would be namespaced more
like an URL, rather than a java package.
Does it matter? And as long as folks don't have actual hosts like
net.example.com, folks could use both. If we pick one ordering we don't
even have to worry about that, but I don't see any technical difference
between the two orderings.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/opencontainers/image-spec/pull/164/files/e969158a0e4371760a72da3492b1b6803b03dc90#r71190607,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEF6bAfkHfDwksO7ouvp3gqeL1_LUfqks5qW7eBgaJpZM4I-n6z
.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On Mon, Jul 18, 2016 at 10:31:59AM -0700, Vincent Batts wrote:

@@ -85,13 +85,20 @@ A client will distinguish a manifest list from an image manifest based on the Co

 This OPTIONAL property contains arbitrary metadata for the manifest list.
 Annotations is a key-value, unordered hashmap.
  • Keys are unique, and best practice is to namespace the keys.
  • Keys MUST be unique, and best practice is to namespace the keys.
  • Keys starting with the opencontainers.org namespace are reserved and MUST NOT be used.

for all the specifics of clarification, it's interesting you don't
see a difference in the two

I'm all for picking one ordering to recommend, but I'm happy to flip a
coin to pick ;). Does anyone have a reason to not choose via
coin-flip?

It also looks like there's inconsistent whitespace on the indent here,
with the final new line using a tab while everyone else uses spaces.

@vbatts
Copy link
Member

vbatts commented Jul 20, 2016

do y'all think we can clear up this conversation on this feature? like maybe for v0.4.0?

I'm for this feature. Perhaps just with clarity around the prefixing?

@duglin
Copy link
Collaborator Author

duglin commented Jul 21, 2016

I looked at both Docker and Kubernetes for examples and Docker seems to use the reverse notation (org.docker.*) while Kubernetes actually uses both based on (I guess) who wrote the code. Averaging it out, that pushes it a bit towards reverse domain notation, so I switched it to that and added a bit of text pushing people to follow that pattern.

duglin pushed a commit to duglin/runtime-spec that referenced this pull request Jul 21, 2016
Mimic opencontainers/image-spec#164
and they should be kept in-sync

Signed-off-by: Doug Davis <dug@us.ibm.com>
@vbatts
Copy link
Member

vbatts commented Jul 21, 2016

@duglin good thoughts, though to me that seems we should cover both use cases.

@duglin
Copy link
Collaborator Author

duglin commented Jul 21, 2016

you want to reserve org.opencontainers.* and *.opencontainers.org ?

I guess we could, but I have to admit, the inconsistency I saw in Kube's docs on this, while not a show-stopper, is kind of weird - so my preference would be to pick one and stick with it.

@vbatts
Copy link
Member

vbatts commented Jul 21, 2016

@brendandburns (or @thockin or @smarterclayton) have opinions on annotations prefixes?

@wking
Copy link
Contributor

wking commented Jul 21, 2016

On Thu, Jul 21, 2016 at 05:53:43AM -0700, Doug Davis wrote:

you want to reserve org.opencontainers.* and *.opencontainers.org ?

I guess we could, but I have to admit, the inconsistency I saw in
Kube's docs on this, while not a show-stopper, is kind of weird - so
my preference would be to pick one and stick with it.

I agree on picking one to reserve, and recommending other folks use
the same order (although they can obviously use the other order if
they have a strong preference and are ok with the collision risk).

duglin pushed a commit to duglin/runtime-spec that referenced this pull request Jul 21, 2016
Mimic opencontainers/image-spec#164
and they should be kept in-sync

Signed-off-by: Doug Davis <dug@us.ibm.com>
duglin pushed a commit to duglin/runtime-spec that referenced this pull request Jul 21, 2016
Mimic opencontainers/image-spec#164
and they should be kept in-sync

Signed-off-by: Doug Davis <dug@us.ibm.com>
@thockin
Copy link
Contributor

thockin commented Jul 21, 2016

I don't think there's much value in reserving both the forward and backward domains. The backward domain is pretty annoying, frankly, and I don't understand why anyone would prefer it. It's human-hostile, and we don't tend to use annotations as a hierarchy (like Java does).

Decide which way is standard and run with it. I happen to think what is documented here is wrong, but Docker already chose that answer.

@vbatts
Copy link
Member

vbatts commented Jul 21, 2016

the other benefit to having an opencontainers.org/ style, is that it is directly translatable to what could be a resolving path for folks looking for more info on the particular key. (much in the same vein of XML namespacing and validation)

@stevvooe
Copy link
Contributor

stevvooe commented Sep 9, 2016

LGTM

Approved with PullApprove

@stevvooe
Copy link
Contributor

stevvooe commented Sep 9, 2016

@duglin There are some whitespace errors that is choking the CI. Want to fix those so we can re-LGTM and get this merged?

Signed-off-by: Doug Davis <dug@us.ibm.com>
@duglin
Copy link
Collaborator Author

duglin commented Sep 9, 2016

@stevvooe CI is fixed now

@stevvooe
Copy link
Contributor

stevvooe commented Sep 9, 2016

LGTM

@opencontainers/image-spec-maintainers

Approved with PullApprove

@philips
Copy link
Contributor

philips commented Sep 13, 2016

LGTM

Approved with PullApprove

@philips philips merged commit ddc89f2 into opencontainers:master Sep 13, 2016
wking added a commit to wking/image-spec that referenced this pull request Sep 23, 2016
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to stand alone at the end of the file, and
pushed the annotations meat into the lower-level manifest
specification (linking there from the higher-level manifest-list
specification).

The extensibility requirements and annotations field might arguably
apply to our other JSON types as well, but I've left them off this
commit to focus on making the current requirements more DRY without
changing the specified behavior.

[1]: opencontainers#164 (comment)
[2]: opencontainers#164 (comment)
[3]: opencontainers#164 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Sep 29, 2016
We're not forbidding other OCI specs from using these fields, we're
forbidding all specs (except for future versions of image-spec) from
using these fields.  The wording I'm bringing in here matches what
873b9b6 (Add some text about extensions, 2016-06-26, opencontainers#164) landed for
the org.opencontainers.* annotation namespace.

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Sep 29, 2016
We're not forbidding other OCI specs from using these fields, we're
forbidding all specs (except for future versions of image-spec) from
using these fields [1,2].  The wording I'm bringing in here matches
what 873b9b6 (Add some text about extensions, 2016-06-26, opencontainers#164)
landed for the org.opencontainers.* annotation namespace.

My personal preference would be to use JSON-LD to assign explicit
semantics to every field (after which you don't have to worry about
namespacing the fields themselves) [2], but that would be a larger
change ;).

[1]: opencontainers#111 (comment)
[2]: opencontainers#111 (comment)
[3]: opencontainers#111 (comment)
     And later comments in that sub-thread.

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Sep 29, 2016
We're not forbidding other OCI specs from using these fields, we're
forbidding all specs (except for future versions of image-spec) from
using these fields [1,2].  The wording I'm bringing in here matches
what 873b9b6 (Add some text about extensions, 2016-06-26, opencontainers#164)
landed for the org.opencontainers.* annotation namespace.

My personal preference would be to use JSON-LD to assign explicit
semantics to every field (after which you don't have to worry about
namespacing the fields themselves) [3], but that would be a larger
change ;).

[1]: opencontainers#111 (comment)
[2]: opencontainers#111 (comment)
[3]: opencontainers#111 (comment)
     And later comments in that sub-thread.

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Oct 6, 2016
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate file, since it's a generic
policy that applies to both our manifest and manifest-list.  I've
pushed the annotations meat into the lower-level manifest
specification (linking there from the higher-level manifest-list
specification).

The extensibility requirements and annotations field might arguably
apply to our other JSON types as well.  The separate extensibility
file sets the stage for that, but I've the other types off this commit
to focus on making the current requirements more DRY without changing
the specified behavior.

[1]: opencontainers#164 (comment)
[2]: opencontainers#164 (comment)
[3]: opencontainers#164 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Oct 6, 2016
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate file, since it's a generic
policy that applies to both our manifest and manifest-list.  I've
pushed the annotations meat into the lower-level manifest
specification (linking there from the higher-level manifest-list
specification).

The extensibility requirements and annotations field might arguably
apply to our other JSON types as well.  The separate extensibility
file sets the stage for that, but I've the other types off this commit
to focus on making the current requirements more DRY without changing
the specified behavior.

[1]: opencontainers#164 (comment)
[2]: opencontainers#164 (comment)
[3]: opencontainers#164 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Oct 11, 2016
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.
I've pushed the annotations meat into the lower-level manifest
specification (linking there from the higher-level manifest-list
specification).

The extensibility requirements and annotations field might arguably
apply to our other JSON types as well.  The separate extensibility
file sets the stage for that, but I've left the other types off this
commit to focus on making the current requirements more DRY without
changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers#164 (comment)
[2]: opencontainers#164 (comment)
[3]: opencontainers#164 (comment)
[4]: opencontainers#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Jan 24, 2017
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.

The extensibility requirements might arguably apply to our other JSON
types as well (like annotations, which were recently DRYed up in
f15a268, annotations: make a designated doc and DRY a bit, 2016-12-15,
opencontainers#501).  The new extensibility section sets the stage for that, but
I've left the other types off this commit to focus on making the
current requirements more DRY without changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers#164 (comment)
[2]: opencontainers#164 (comment)
[3]: opencontainers#164 (comment)
[4]: opencontainers#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Jan 24, 2017
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.

The extensibility requirements might arguably apply to our other JSON
types as well (like annotations, which were recently DRYed up in
f15a268, annotations: make a designated doc and DRY a bit, 2016-12-15,
opencontainers#501).  The new extensibility section sets the stage for that, but
I've left the other types off this commit to focus on making the
current requirements more DRY without changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers#164 (comment)
[2]: opencontainers#164 (comment)
[3]: opencontainers#164 (comment)
[4]: opencontainers#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Jan 28, 2017
The 'null' option has been in the JSON Schema since 78c7ff7
(manifest: add annotations, 2016-04-27, opencontainers#44), although I expect it was
accidental.  The spec has clearly not allowed:

  "annotations": null

since 873b9b6 (Add some text about extensions, 2016-06-26, opencontainers#164)
landed with the following (still current) requirements:

  Annotations MUST be a key-value map where both the key and value
  MUST be strings.

and:

  If there are no annotations then this property MUST either be absent
  or be an empty map.

Folks without annotations should not set the property at all, or they
should set it to:

  "annotations": {}

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/image-spec that referenced this pull request Jan 28, 2017
The 'null' option has been in the JSON Schema since 78c7ff7
(manifest: add annotations, 2016-04-27, opencontainers#44), although I expect it was
accidental.  The spec has clearly not allowed:

  "annotations": null

since 873b9b6 (Add some text about extensions, 2016-06-26, opencontainers#164)
landed with the following (still current) requirements:

  Annotations MUST be a key-value map where both the key and value
  MUST be strings.

and:

  If there are no annotations then this property MUST either be absent
  or be an empty map.

Folks without annotations should not set the property at all, or they
should set it to:

  "annotations": {}

Signed-off-by: W. Trevor King <wking@tremily.us>
wking added a commit to wking/opencontainer-runtime-spec that referenced this pull request Aug 31, 2017
Generating an error seems like one potential violation of the
requirement to ignore unknown properties.  Compliance testing for the
ignore requirement can cite the MUST I've written here for any
noticeable runtime activity around the unknown property without
needing a error-specific MUST.

We've had the two MUSTs since 27a05de (Add text about extensions,
2016-06-26, opencontainers#510), citing [1].  I'd asked for consolidated phrasing
then [2,3], but hadn't followed up after the commit landed.

I've left a line mentioning the error activity as non-normative
clarification, but am also happy to drop that line completely.

Also:

* Update the unknown annotation entry to reference the generic
  extensibility section, because there's nothing annotation-specific
  in how we want runtimes to handle unknown keys.

* Remove "reading or processing" language.  This initially landed in
  27a05de with a bump in b92cf90 (consistency and style fix,
  2017-05-12, opencontainers#811).  Some thought was put into this phrasing there
  [4,5] and earlier in opencontainers#510 [6], but we never got around to dropping
  this qualifier.  However, the purpose of this qualifier is unclear
  to me.  What is the point of compliance requirements for runtimes
  which don't read or process a configuration?

[1]: opencontainers/image-spec#164
[2]: opencontainers#510 (comment)
[3]: opencontainers#510 (comment)
[4]: opencontainers#811 (comment)
[5]: opencontainers#811 (comment)
[6]: opencontainers#510 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
dattgoswami9lk5g added a commit to dattgoswami9lk5g/bremlinr that referenced this pull request Jun 6, 2022
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.

The extensibility requirements might arguably apply to our other JSON
types as well (like annotations, which were recently DRYed up in
f15a268, annotations: make a designated doc and DRY a bit, 2016-12-15,
#501).  The new extensibility section sets the stage for that, but
I've left the other types off this commit to focus on making the
current requirements more DRY without changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers/image-spec#164 (comment)
[2]: opencontainers/image-spec#164 (comment)
[3]: opencontainers/image-spec#164 (comment)
[4]: opencontainers/image-spec#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
7c00d pushed a commit to 7c00d/J1nHyeockKim that referenced this pull request Jun 6, 2022
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.

The extensibility requirements might arguably apply to our other JSON
types as well (like annotations, which were recently DRYed up in
f15a268, annotations: make a designated doc and DRY a bit, 2016-12-15,
#501).  The new extensibility section sets the stage for that, but
I've left the other types off this commit to focus on making the
current requirements more DRY without changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers/image-spec#164 (comment)
[2]: opencontainers/image-spec#164 (comment)
[3]: opencontainers/image-spec#164 (comment)
[4]: opencontainers/image-spec#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
7c00d added a commit to 7c00d/J1nHyeockKim that referenced this pull request Jun 6, 2022
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.

The extensibility requirements might arguably apply to our other JSON
types as well (like annotations, which were recently DRYed up in
f15a268, annotations: make a designated doc and DRY a bit, 2016-12-15,
#501).  The new extensibility section sets the stage for that, but
I've left the other types off this commit to focus on making the
current requirements more DRY without changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers/image-spec#164 (comment)
[2]: opencontainers/image-spec#164 (comment)
[3]: opencontainers/image-spec#164 (comment)
[4]: opencontainers/image-spec#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
laventuraw added a commit to laventuraw/Kihara-tony0 that referenced this pull request Jun 6, 2022
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.

The extensibility requirements might arguably apply to our other JSON
types as well (like annotations, which were recently DRYed up in
f15a268, annotations: make a designated doc and DRY a bit, 2016-12-15,
#501).  The new extensibility section sets the stage for that, but
I've left the other types off this commit to focus on making the
current requirements more DRY without changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers/image-spec#164 (comment)
[2]: opencontainers/image-spec#164 (comment)
[3]: opencontainers/image-spec#164 (comment)
[4]: opencontainers/image-spec#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
tomalopbsr0tt added a commit to tomalopbsr0tt/fabiojosej that referenced this pull request Oct 6, 2022
As I suggested in the PR landing these blocks [1,2,3].  I've shifted
the extensibility section to a separate considerations.md, since it's
a generic policy that applies to both our manifest and manifest-list.

The extensibility requirements might arguably apply to our other JSON
types as well (like annotations, which were recently DRYed up in
f15a268, annotations: make a designated doc and DRY a bit, 2016-12-15,
#501).  The new extensibility section sets the stage for that, but
I've left the other types off this commit to focus on making the
current requirements more DRY without changing the specified behavior.

My personal preference would be to have separate canonicalization.md
and extensibility.md files, but Jonathan wanted the single file:

On Mon, Oct 10, 2016 at 09:22:46AM -0700, Jonathan Boulle wrote [4]:
> Ehh, I preferred it where it was - now worried about death by a
> thousand files (extensibility, canonicalization, etc etc). Can we
> combine them (into a generic "considerations" document or similar),
> or just put this back?

[1]: opencontainers/image-spec#164 (comment)
[2]: opencontainers/image-spec#164 (comment)
[3]: opencontainers/image-spec#164 (comment)
[4]: opencontainers/image-spec#340 (comment)

Signed-off-by: W. Trevor King <wking@tremily.us>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants