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

image-layout: ./refs/ -> index.json #533

Merged
merged 2 commits into from
Feb 8, 2017

Conversation

vbatts
Copy link
Member

@vbatts vbatts commented Jan 26, 2017

For media that pertains to an image, like AppStream metadata, may need to accompany a manifest-list, but is not a descriptor that points to a manifest (i.e. and XML file).

This enables non-manifest descriptors.

From the 2017-01-25 call we agreed to keep the manifest list as the entry point for accessing objects. The index concept is only a more generic use of the manifest-list. #438 (comment)

This change uses the manifest-list as an index that allows implementations to work around needing to walk/traverse the ./refs/ directories.

Obsoletes #438

@vbatts
Copy link
Member Author

vbatts commented Jan 26, 2017

@opencontainers/image-spec-maintainers PTAL

image-layout.md Outdated
"elements": [
{
"mediaType": "application/xml",
"Asize": 7143,
Copy link
Contributor

Choose a reason for hiding this comment

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

Asize?

Copy link
Member Author

Choose a reason for hiding this comment

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

Oh hah. I was messing with the schema validation... Clearly it works :-/

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

image-layout.md Outdated
}
}
],
"elements": [
Copy link
Contributor

Choose a reason for hiding this comment

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

elements?

Copy link
Member Author

Choose a reason for hiding this comment

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

Elements of the index. Elements of the image.
"Channels" felt too much like providing alternate paths or manifests, which is not the point. "descriptors" seems obvious but also a bit redundant.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, extensions?

(let's explore a few...)

Copy link
Contributor

Choose a reason for hiding this comment

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

My personal favorite is descriptors. It's boring and redundant, but obviously correct and it is very clearly not implying any semantic meaning about the content.

@stevvooe
Copy link
Contributor

needing to walk/traverse the ./refs

Doesn't this obsolete ./refs?

Were we going to change the name of manifest-list or do you want to do that in a follow up?

image-layout.md Outdated
@@ -156,4 +161,48 @@ $ cat ./blobs/sha256/e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7f
[tar stream]
```

## index.json

This OPTIONAL file is for use indexing references and elements of the image-layout, where walking the `refs` and `blobs` is sub-optimal.
Copy link
Contributor

Choose a reason for hiding this comment

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

The index file has no effect on whether you need to or can walk blobs. Performance issues aside, it is a drop-in replacement for refs, except that the previous ref names are gone. So I think we should remove the blobs reference from this line.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fair.
For the name, that is why I made up the example

      "annotations": {
        "org.opencontainers.ref.name": "v1.0"
      }   

Copy link
Contributor

Choose a reason for hiding this comment

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

For the name, that is why I made up the example [org.opencontainers.ref.name]

That works as a ref-name replacement, but if we actually want to use it (e.g. in image-tools), I think we want to define it here.

Copy link
Member Author

Choose a reason for hiding this comment

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

yes. I didn't do that because it was not my intention to anihilate the ./refs/ directory.
@stevvooe thoughts?

Copy link
Contributor

@wking wking Jan 27, 2017

Choose a reason for hiding this comment

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

I didn't do that because it was not my intention to anihilate the ./refs/ directory.

Defining something like org.opencontainers.ref.name lets consumers use the index to access content by name (e.g. oci-unpack --ref v1.0 foo/ bar/) vs. having callers access it by annotation (e.g. oci-unpack --annotation org.opencontainers.ref.name=v1.0 foo/ bar/). But being able to use the index to access content by name doesn't mean you have to drop refs/ (which is another way to access content by name).

Copy link
Member Author

Choose a reason for hiding this comment

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

updated.

Copy link
Contributor

Choose a reason for hiding this comment

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

updated.

You're still referencing blobs in this line (which is what started the sub-thread on this line).

Copy link
Member Author

Choose a reason for hiding this comment

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

understandable

image-layout.md Outdated
```json,title=Manifest%20List&mediatype=application/vnd.oci.image.manifest.list.v1%2Bjson
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.manifest.list.v1+json",
Copy link
Contributor

Choose a reason for hiding this comment

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

This line can go away (see #531 and #411).

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah... I was wrestling with the schema validation which is requiring it

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

manifest-list.md Outdated
@@ -11,7 +11,8 @@ For the media type(s) that this document is compatible with, see the [matrix][ma
- **`schemaVersion`** *int*

This REQUIRED property specifies the image manifest schema version.
For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker. The value of this field will not change. This field MAY be removed in a future version of the specification.
For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker.
The value of this field will not change. This field MAY be removed in a future version of the specification.
Copy link
Contributor

Choose a reason for hiding this comment

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

If you're trying to break this into one sentence per line, you'll want to put another newline in between “change.” and “This”. But you can probably make this PR without touching the schemaVersion definition at all.

Copy link
Member Author

Choose a reason for hiding this comment

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

Missed this. I'll pick it up in a second

@@ -108,5 +116,5 @@ For the media type(s) that this document is compatible with, see the [matrix][ma
}
```

[runtime-platform2]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/config.md#platform
[runtime-platform2]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc3/config.md#platform
Copy link
Contributor

Choose a reason for hiding this comment

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

If we bump this to rc3, we probably want to update the config reference as well. But we can probably leave the rc2 → rc3 bump out of this PR.

Copy link
Member Author

Choose a reason for hiding this comment

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

i've updated the other references now.

},
"annotations": {
"id": "https://opencontainers.org/schema/image/descriptor/annotations",
"$ref": "defs-image.json#/definitions/annotations"
Copy link
Contributor

Choose a reason for hiding this comment

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

This catches us up with #501 (and it needs an fs.go bump too). With the spec change already hashed out in #501, this can probably get spun off into its own PR and landed faster than the index pivot as a whole.

Copy link
Member Author

Choose a reason for hiding this comment

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

i've updated the fs.go now. But what needs to get spun off?

Copy link
Contributor

Choose a reason for hiding this comment

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

Nothing needs to get spun off. But adding annotations here is independent of the rest of this PR, so you could spin this whole hunk off into a separate PR if you wanted more, smaller PRs (vs. fewer, bigger PRs).

Copy link
Member Author

Choose a reason for hiding this comment

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

oh right. It could be independent. This PR makes an example of it though. So I fixed what I saw.

@@ -11,14 +11,47 @@
"type": "string",
"pattern": "^[a-z0-9_+.-]+:[a-f0-9]+$"
},
"elementDescriptor": {
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you need this type (which drops urls?). I'd expect you could just use:

"$ref": "content-descriptor.json"

in the elements array (or whatever that ends up being called).

Copy link
Member Author

Choose a reason for hiding this comment

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

I tried that to no avail. Clearly there is some schema attention needed

@vbatts
Copy link
Member Author

vbatts commented Jan 27, 2017

@stevvooe I reckon is does obsolete the ./refs, but not intentionally.
Also I will get to the rename, but want Ed to get this up for review first

@vbatts
Copy link
Member Author

vbatts commented Jan 27, 2017

@stevvooe I think doing the manifest-list name and media-type change can happen in a separate thread than this PR.

@vbatts
Copy link
Member Author

vbatts commented Jan 27, 2017

Alrighty, y'all. PTAL

schema/fs.go Outdated
`,
},

"/.defs-image.json.swp": {
Copy link
Contributor

Choose a reason for hiding this comment

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

Local editor stuff? Maybe we should -include=.*\.json instead of our current -ignore=.*go?

Copy link
Member Author

Choose a reason for hiding this comment

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

oh noes

Copy link
Member Author

Choose a reason for hiding this comment

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

the -include did not do it. had to add another -ignore. fixed now.

Copy link
Contributor

@wking wking Jan 28, 2017

Choose a reason for hiding this comment

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

the -include did not do it.

It worked for me (although I had to add a trailing $ to my earlier guess). I've filed the change as #538.

manifest-list.md Outdated
@@ -11,7 +11,9 @@ For the media type(s) that this document is compatible with, see the [matrix][ma
- **`schemaVersion`** *int*

This REQUIRED property specifies the image manifest schema version.
For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker. The value of this field will not change. This field MAY be removed in a future version of the specification.
For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker.
The value of this field will not change
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: missing a trailing period.

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

manifest-list.md Outdated
@@ -64,6 +66,13 @@ For the media type(s) that this document is compatible with, see the [matrix][ma

This OPTIONAL property specifies an array of strings, each specifying a mandatory CPU feature (for example `sse4` or `aes`).

- **`elements`** *array of objects*

This OPTIONAL property contains a list of non-manifest objects.
Copy link
Contributor

@wking wking Jan 27, 2017

Choose a reason for hiding this comment

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

In the “using the object as an index” use case, the entries here are likely to be manifests and manifest lists. In fact, folks using a manifest-list to switch between platforms could have an index where multiple elements (or whatever we end up calling them) have the same org.opencontainers.ref.name but differ in other metadata. That would shorten index → manifest-list → manifest to index → manifest. So I'd recommend something more generic, like:

This OPTIONAL property contains an array of descriptors. No restrictions on the referenced content are implied.

Copy link
Member Author

Choose a reason for hiding this comment

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

there is still the manifests field. Why would manifest and manifest-lists be put into this elements array?

Copy link
Contributor

Choose a reason for hiding this comment

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

there is still the manifests field. Why would manifest and manifest-lists be put into this elements array?

Maybe I'm not understanding right. I'd assumed that elements would be used when folks were looking for a single-file refs/ alternative and that manifests would only be used for traditional manifest-list stuff (e.g. selecting the best manifest based on platform matching) during some hopefully-short deprecation phase. In that case, the index would have an elements entry pointing at a manifest whenever you create a named ref for a manifest. And eventually, folks would only use elements and we could drop manifests.

But it sounds like you are intending all descriptors pointing at application/vnd.oci.image.manifest.v1+json go into manifests and everything else would go into elements? That works, I guess, although I'm not sure how you'd identify non-OCI types which count as manifests (e.g. a third-party application/vnd.foo.manifest).

Copy link
Member Author

Choose a reason for hiding this comment

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

So, the manifests array is intended for application/vnd.oci.image.manifest.v1+json and application/vnd.oci.image.manifest.list.v1+json. Any distinguishing of non-OCI manifest lists ... I'm not real sure. This field is also what Docker uses presently for their manifest-list and therefore needs some backwards-compat consideration.

This elements (or whatever) is intended for additional metadata like AppStream or other relevant repo-metadata (say XML or sqlite objects) that are facilitating this image-layout.

I would think it much cleaner to just have a single field like descriptors where they all live. Then this desire to distinguish goes away.

Copy link
Contributor

Choose a reason for hiding this comment

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

I would think it much cleaner to just have a single field like descriptors where they all live. Then this desire to distinguish goes away.

I'm not sure we can make this work. Migrating these top-level types are a huge pain and I'm not sure we gain anything except naming. I'd prefer to call this extensions, as they seem like extensions.

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't follow why these things can't just go into the manifests list? We already have a namespaced mediaType for all of the descriptors so adding an extension field doesn't really buy much AFAICS.

image-layout.md Outdated
@@ -156,4 +161,48 @@ $ cat ./blobs/sha256/e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7f
[tar stream]
```

## index.json

This OPTIONAL file is for use indexing references and elements of the image-layout, where walking the `refs` and `blobs` is sub-optimal.
Copy link
Contributor

Choose a reason for hiding this comment

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

updated.

You're still referencing blobs in this line (which is what started the sub-thread on this line).

image-layout.md Outdated
./oci-layout
./blobs/sha256/3588d02542238316759cbf24502f4344ffcc8a60c803870022f335d1390c13b4
./blobs/sha256/4b0bc1c4050b03c95ef2a8e36e25feac42fd31283e8c30b3ee5df6b043155d3c
./blobs/sha256/7968321274dc6b6171697c33df7815310468e694ac5be0ec03ff053bb135e768
Copy link
Contributor

Choose a reason for hiding this comment

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

Probably keep this alphabetized.

Copy link
Member Author

Choose a reason for hiding this comment

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

fair, but it's the output of find . -type f

Copy link
Member Author

Choose a reason for hiding this comment

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

updated the blobs reference too.

@vbatts vbatts force-pushed the manifest-list-index branch 2 times, most recently from 28e7ed9 to 539b37b Compare January 28, 2017 02:43
@vbatts
Copy link
Member Author

vbatts commented Jan 28, 2017

updated.

wking added a commit to wking/image-spec that referenced this pull request Jan 28, 2017
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>

Conflicts:
	schema/gen.go
wking added a commit to wking/image-spec that referenced this pull request Jan 28, 2017
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>
@@ -78,6 +77,17 @@
}
}
}
},
"annotations": {
"id": "https://opencontainers.org/schema/image/annotations",
Copy link
Contributor

Choose a reason for hiding this comment

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

This has the same id as the defintion below (here in master). It would be more DRY to reference that here:

"annotations": {
  "$ref": "#/definitions/annotations"
}

Copy link
Member Author

Choose a reason for hiding this comment

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

yes

@@ -76,12 +76,15 @@ $(OUTPUT_DIRNAME)/$(DOC_FILENAME).html: $(DOC_FILES) $(FIGURE_FILES)
ls -sh $(shell readlink -f $@)
endif

validate-examples:
validate-examples: schema/fs.go
Copy link
Contributor

Choose a reason for hiding this comment

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

Travis doesn't actually call validate-examples, and it's not a dependency of the test target either. If we're trying to rebuild schema/fs.go before any tests, you probably need to have:

test: schema/fs.go

as well.

Copy link
Member Author

Choose a reason for hiding this comment

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

then i'll add validate-examples as a travis target.

Copy link
Contributor

Choose a reason for hiding this comment

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

then i'll add validate-examples as a travis target.

That will double those tests, since make test, which we already call, also runs the example tests. Other make test tests depend on fs.go as well, so I think you can leave Travis alone and add the fs.go dependency to test.

Copy link
Member Author

Choose a reason for hiding this comment

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

oh i see. ok.

Copy link
Member Author

Choose a reason for hiding this comment

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

maybe schema/fs.go doesn't even need to be commited then ... only generated. It often causes a lot of senseless rebasing.

Copy link
Member Author

Choose a reason for hiding this comment

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

Makefile Outdated
schema/fs.go: $(wildcard schema/*.json) schema/gen.go
cd schema && printf "%s\n\n%s\n" "$$(cat ../.header)" "$$(go generate)" > fs.go

.PHONY: schema-fs
Copy link
Contributor

Choose a reason for hiding this comment

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

Quite a few .PHONY entries are collected at the bottom of the Makefile if you want to put this entry there. On the other hand, there are still a few single-entry .PHONYs scattered throughout the Makefile, so there is precedent if you want to keep it here.

Copy link
Member Author

Choose a reason for hiding this comment

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

i didn't notice the phony's getting grouped. I'll update mine. I'm used to just scattering them so you can clearly read the phony next to the target it is operating on.

go test -run TestValidate ./schema

schema-fs:
schema/fs.go: $(wildcard schema/*.json) schema/gen.go
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure how well make will handle this in a fresh Git checkout. Maybe Travis should touch schema/gen.go to ensure a newer-than-fs.go mtime?

Copy link
Member Author

Choose a reason for hiding this comment

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

presumably, a fresh checkout wouldn't need a fresh schema. the schema-fs ought to be commited when the JSON schema changes.

Copy link
Contributor

Choose a reason for hiding this comment

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

the schema-fs ought to be commited when the JSON schema changes.

But that doesn't always happen (it didn't in #411). Making sure it does always happen was what I was trying to do with #530. I'd thought the approach you were aiming for here was to always rebuild in CI so it didn't matter if the committed copy was stale.

Copy link
Member Author

Choose a reason for hiding this comment

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

right. If travis runs the validate-examples, then it would fail CI for their PR, then they update schema-fs, commit and re-push.

wking added a commit to wking/image-spec that referenced this pull request Feb 8, 2017
The restriction on names was removed by 0556a6b (image-layout:
./refs/ -> index.json, 2017-01-26, opencontainers#533) and the replacement
(org.opencontainers.ref.name) has no equivalent limitation.
wking added a commit to wking/image-spec that referenced this pull request Feb 8, 2017
To make it clear what they are now that we have no "Refs" section
(which was removed in 0556a6b, image-layout: ./refs/ -> index.json,
2017-01-26, opencontainers#533).

Signed-off-by: W. Trevor King <[email protected]>
wking added a commit to wking/image-spec that referenced this pull request Feb 8, 2017
The restriction on names was removed by 0556a6b (image-layout:
./refs/ -> index.json, 2017-01-26, opencontainers#533) and the replacement
(org.opencontainers.ref.name) has no equivalent limitation.

Signed-off-by: W. Trevor King <[email protected]>
wking added a commit to wking/image-spec that referenced this pull request Feb 8, 2017
To make it clear what they are now that we have no "Refs" section
(which was removed in 0556a6b, image-layout: ./refs/ -> index.json,
2017-01-26, opencontainers#533).

Signed-off-by: W. Trevor King <[email protected]>
wking added a commit to wking/image-spec that referenced this pull request Feb 8, 2017
To make it clear what they are now that we have no "Refs" section
(which was removed in 0556a6b, image-layout: ./refs/ -> index.json,
2017-01-26, opencontainers#533).

Signed-off-by: W. Trevor King <[email protected]>
vbatts added a commit to vbatts/oci-image-spec that referenced this pull request Feb 9, 2017
PR opencontainers#533 removed annotations by accident. (489e00e specifically).
This adds that definition back.

Signed-off-by: Vincent Batts <[email protected]>
This was referenced Feb 9, 2017
wking added a commit to wking/image-spec that referenced this pull request Feb 14, 2017
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>
wking added a commit to wking/image-spec that referenced this pull request Feb 16, 2017
From 0556a6b (image-layout: ./refs/ -> index.json, 2017-01-26, opencontainers#533).

Signed-off-by: W. Trevor King <[email protected]>
coolljt0725 added a commit to coolljt0725/image-spec that referenced this pull request Mar 8, 2017
A common use case of `org.opencontainers.ref.name`
is representing a `tag` for a container image. In docker,
there is some restriction of the name see
https://github.com/docker/docker/blob/master/vendor/github.com/docker/distribution/reference/regexp.go#L37.
Without these restrictions, I'm afraid the tag of
oci image is invalid for docker. These restrictions used to exist but removed in
opencontainers#533.

Signed-off-by: Lei Jitang <[email protected]>
dattgoswami9lk5g added a commit to dattgoswami9lk5g/bremlinr that referenced this pull request Jun 6, 2022
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers/image-spec#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>
7c00d pushed a commit to 7c00d/J1nHyeockKim that referenced this pull request Jun 6, 2022
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers/image-spec#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>
7c00d added a commit to 7c00d/J1nHyeockKim that referenced this pull request Jun 6, 2022
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers/image-spec#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>
laventuraw added a commit to laventuraw/Kihara-tony0 that referenced this pull request Jun 6, 2022
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers/image-spec#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>
tomalopbsr0tt added a commit to tomalopbsr0tt/fabiojosej that referenced this pull request Oct 6, 2022
To avoid accidentally including .swp, .un~, etc. [1].  Test with:

  $ touch schema/.defs-image.json.swp
  $ touch schema/.content-descriptor.json.un~
  $ touch schema/foojson
  $ make schema-fs
  $ grep '"/' schema/fs.go
          "/config-schema.json": {
          "/content-descriptor.json": {
          "/defs-config.json": {
          "/defs-image.json": {
          "/defs.json": {
          "/image-layout-schema.json": {
          "/image-manifest-schema.json": {
          "/manifest-list-schema.json": {
          "/": {
                  local: "/",

[1]: opencontainers/image-spec#533 (comment)

Signed-off-by: W. Trevor King <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants