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

*: update to image-spec v1.0.0-rc5 #133

Merged
merged 5 commits into from
Jul 14, 2017

Conversation

cyphar
Copy link
Member

@cyphar cyphar commented Jun 30, 2017

This is a fairly large semantic and library change because of the semantic
change of tags no longer being a first-class property of the underlying
storage. This required a change to oci/cas and adding reference resolution to
oci/casext (which is actually nicer on some level but conflicts are hard to
resolve now).

Currently platform filtering is not implemented, and the current handling of
ambiguous tags is not really ironed out (errors are returned). This is
something that will need to be ironed out in the future especially if we want
to support creating multi-level trees of Indexes.

In addition, due to the way that our CI works we need to update to the latest
skopeo but we can't do this in the distribution because this change is still
being worked on. IMO it would be better if we first resolve #132 before merging
this so that we actually can test this in a more sane way going forward.

Signed-off-by: Aleksa Sarai [email protected]

@cyphar cyphar added this to the 0.4.0 milestone Jun 30, 2017
@cyphar cyphar added the oci/cas label Jun 30, 2017
@cyphar
Copy link
Member Author

cyphar commented Jun 30, 2017

I will follow up with a 1.0.0-rc6 bump immediately after this is merged, as the differences are far more minor.

@cyphar cyphar force-pushed the imagespec-v1.0.0-rc5 branch 2 times, most recently from c1eafdd to d2ee3b9 Compare June 30, 2017 12:44
@cyphar cyphar force-pushed the imagespec-v1.0.0-rc5 branch 4 times, most recently from f4d67a0 to 61fa801 Compare July 11, 2017 21:20
cyphar added 3 commits July 13, 2017 04:46
Since PutBlobJSON is not actually an underlying property of the CAS, it
makes more sense in casext to remove the amount of things that CAS
implementations need to deal with. In addition it allows us to switch to
deterministic JSON encoding in the future without changing the CAS
implementations.

In addition, move the corresponding PutBlob tests into casext so that
the tests make more sense. The readonly and readwrite methods of testing
the API guarantees is not as nice as it should be at the moment, and
should be improved by breaking up the CAS "types" in the future (sort of
like io.Reader and io.Writer).

Signed-off-by: Aleksa Sarai <[email protected]>
This is equivalent to "path/filepath".SkipDir, but for descriptor
walking. It is necessary in order to implement parts of the reference
resolution code sanely (and also efficiently).

Signed-off-by: Aleksa Sarai <[email protected]>
This is just a temporary implementation which will be replaced with the
switch to v1.0.0-rc5. Note that this interface is *very* likely to
change in the future due to the arbitrary nesting requirements of
v1.0.0-rc5.

In addition, move the tests for references to oci/casext (using the new
interfaces). On paper this means that both the old and new interfaces
should still pass all of the oci/casext tests.

Signed-off-by: Aleksa Sarai <[email protected]>
@cyphar cyphar force-pushed the imagespec-v1.0.0-rc5 branch from 61fa801 to 8277b2b Compare July 12, 2017 19:36
This requires some very significant changes to various portions of
umoci. At this point, umoci supports all of the necessary bits for
"standard" images (old-style structure with new layout). There are some
leftover bits in mutate/ as well as in the UX that are blocking
supporting the largest possible range of control over the structure of
OCI images generated and mutated by this library. These will be fixed in
future revisions before the next release.

Signed-off-by: Aleksa Sarai <[email protected]>
@cyphar cyphar force-pushed the imagespec-v1.0.0-rc5 branch from 8277b2b to c29001a Compare July 12, 2017 19:39
@cyphar
Copy link
Member Author

cyphar commented Jul 14, 2017

LGTM. There's plenty of improvements left that are necessary but this works for the moment.

@cyphar cyphar merged commit 96bd897 into opencontainers:master Jul 14, 2017
cyphar added a commit that referenced this pull request Jul 14, 2017
There are some remaining issues that need to be resolved, but those are
not blocking the very belated update of umoci to newer OCI
specifications.

LGTMs: @cyphar
Closes #133
@cyphar cyphar deleted the imagespec-v1.0.0-rc5 branch July 14, 2017 14:55
@cyphar cyphar mentioned this pull request Jul 15, 2017
@cyphar
Copy link
Member Author

cyphar commented Jul 15, 2017

I just realised that the tests passed even though image-tools hasn't been updated in openSUSE. That's pretty worrying, and I'll update image-tools for #142.

@cyphar cyphar modified the milestones: 0.3.0, 0.4.0 Jul 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

tests: remove need for Docker
1 participant