Joseph Schorr
d59bea3569
Enable a configurable whitelist of namespaces for V22
...
If a namespace is present in the whitelist, all calls are sent to the OCI model instead of the Pre OCI model
Note that this does increase overhead for registry calls (since we need to lookup the namespace for every single call), but it should only be temporary until we've migrated all users over to the OCI data model
2018-12-03 17:37:28 -05:00
Joseph Schorr
50dc57acdf
Merge pull request #3294 from quay/joseph.schorr/v22
...
V2_2 support in Quay!
2018-12-03 20:20:23 +02:00
Joseph Schorr
cdfaca8e78
Disable GC worker in its entirety
2018-12-03 10:42:53 -05:00
Joseph Schorr
63f9043312
Code review small fixes
2018-11-28 12:56:16 +02:00
Joseph Schorr
492934de3c
Remove redundant call
2018-11-27 18:44:34 +02:00
Joseph Schorr
d03eb12a77
Remove unused function
2018-11-26 21:29:53 +02:00
Joseph Schorr
4e1ff90cb2
Unify the get_layers calls across all implements of manifest schemas to ensure we have a common type returned
...
Also renames some methods to make it more clear what kind of information they return
2018-11-26 17:58:48 +02:00
Joseph Schorr
180d8847db
Fix image replication for images with remote layers
2018-11-26 16:15:48 +02:00
Joseph Schorr
0eb84f8077
Add a squashing test for images with empty layers
2018-11-26 12:48:20 +02:00
Joseph Schorr
3e4f4ab7f1
Add conversion test for the latest ubuntu image
2018-11-26 12:45:05 +02:00
Joseph Schorr
38f68f81f2
Add caching of retrieved config in manifest class
2018-11-25 20:03:57 +02:00
Joseph Schorr
adccdd30ca
Read blobs from new manifest blob table where relevant
2018-11-25 17:31:09 +02:00
Joseph Schorr
4985040d31
Properly handle the empty layer when pushing schema 2 manifests
...
Docker doesn't send us the contents of this layer, so we are forced to synthesize it ourselves
2018-11-25 16:16:59 +02:00
Joseph Schorr
947c029afa
Fix history layer check off-by-one error and add additional conversion tests
...
This also moves the conversion golden data into files to make it easier to add additional tests
2018-11-21 21:49:01 +02:00
Joseph Schorr
49ea2d1fa1
Add a schema 2 push pull verification test
2018-11-21 21:02:13 +02:00
Joseph Schorr
6207bb5e6f
Fix registry test due to recent name change
2018-11-21 18:06:16 +02:00
Joseph Schorr
ffd567e2c2
Rename accessed items in the data model
2018-11-21 18:06:16 +02:00
Joseph Schorr
c233760007
Fix conversion of schema 2 manifests to schema 1 manifests
...
Also adds a number of conversion tests and clarify the interfaces a bit more
2018-11-21 18:06:16 +02:00
Joseph Schorr
bd79eaa38f
Fix expanded column display in smaller viewports
...
Note: doesn't fix it in the smallest viewports; we'll fix later
2018-11-20 18:52:53 +02:00
Joseph Schorr
1f03fdb27e
Fix pulling of squashed versions of the legacy image in a manifest lists
2018-11-20 16:37:15 +02:00
Joseph Schorr
001768c043
Make security status for manifests without legacy images more clear in the UI
2018-11-20 16:37:15 +02:00
Joseph Schorr
1e4e424d64
Fix add tag operation in UI on manifests without legacy images
2018-11-20 16:37:15 +02:00
Joseph Schorr
a6ffad9759
Fix UI for image tracks under manifest lists
2018-11-20 12:55:55 +02:00
Joseph Schorr
dcf312d94d
Fix exception bases for manifest exceptions
2018-11-20 12:55:45 +02:00
Joseph Schorr
17d7828f1a
Add registry test for manifestlist with the same child manifest twice
2018-11-20 11:22:27 +02:00
Joseph Schorr
c079add0df
Don't return images if a tag does not have a legacy image
2018-11-19 23:33:37 +02:00
Joseph Schorr
e972e4088b
Fix lookup of manifests referenced solely by a manifest list
...
We need to ensure we can find them if there is an active tag pointing to the parent list
2018-11-19 23:31:41 +02:00
Joseph Schorr
54904cfd6e
Fix bug around pushing manifest lists that refer to the same manifest twice as children
2018-11-19 18:26:22 +02:00
Joseph Schorr
45db1d27e7
Update registry tests
2018-11-19 14:01:42 +02:00
Joseph Schorr
e6c2ddfa93
Add support for direct pushing of schema 2 manifests without tags
...
This is required for manifest lists
2018-11-19 14:01:41 +02:00
Joseph Schorr
8a3427e55a
Change registry data model to use a content retriever where applicable
2018-11-19 14:01:41 +02:00
Joseph Schorr
82ee21bfbd
Change OCI data model to use a content retriever for the various manifest operations
2018-11-19 12:24:04 +02:00
Joseph Schorr
cbfb6054e5
Switch content retrieval in manifests to be behind an interface
...
This allows for easy separation of retrieval of config blobs vs manifests
2018-11-19 11:55:52 +02:00
Joseph Schorr
1eaf5b18dd
Adjustments based on code review feedback
2018-11-15 13:51:48 +02:00
Joseph Schorr
c46b11bac1
Implement UI support for manifest lists
2018-11-14 18:40:57 +02:00
Joseph Schorr
276d0d571d
Fix support for pulling manifest lists via Docker V1 protocol where applicable
2018-11-14 14:05:06 +02:00
Joseph Schorr
37b20010aa
Add support for pushing and pulling schema 2 manifests with remote layers
...
This is required for windows image support
2018-11-14 13:21:50 +02:00
Joseph Schorr
d97055e2ba
Code review fixes
2018-11-14 09:15:58 +02:00
Joseph Schorr
3b4002877a
Fix mimetype handling in registry tests
2018-11-14 08:51:01 +02:00
Joseph Schorr
7a794e29c0
Add tests for manifest lists and fix some issues encountered while testing
2018-11-13 21:03:20 +02:00
Joseph Schorr
9994f0ae61
Disable GC for repositories with manifest lists
...
This is a temporary measure so we can roll V2_2 out for internal customer testing without having to worry about GC interacting oddly with it
2018-11-13 21:03:20 +02:00
Joseph Schorr
e752a9a73f
Update registry tests to test schema 2 manifest pushes and pulls
...
Note that tests for manifest *lists* will be in a following commit
2018-11-13 17:15:00 +02:00
Joseph Schorr
7b9f56eff3
Fixes to ensuring existing code can process schema 2 manifests
2018-11-13 17:13:51 +02:00
Joseph Schorr
9474fb7833
Fix bug with json.dumps
changing the order of keys
...
We write the literal received JSON string into the image data, to ensure the checksums computed will always match
2018-11-13 16:50:13 +02:00
Joseph Schorr
8985d8f106
Have registry tests run against both data models (old and new)
2018-11-13 12:00:55 +02:00
Joseph Schorr
849e613386
Implement support for schema 2 manifests
2018-11-13 11:49:12 +02:00
Joseph Schorr
1b3daac3c3
Add method for retrieving a V1-compatible manifest for any manifest or manifest list
...
This is used to serve older clients that don't support the V2 schema format
2018-11-13 10:40:57 +02:00
Joseph Schorr
d77d383e46
Add schema2 media types
2018-11-13 09:24:04 +02:00
Joseph Schorr
30f072aeff
Add support for creating schema 2 manifests and manifest lists via the OCI model
2018-11-12 23:27:49 +02:00
Joseph Schorr
e344d4a5cf
Enhancements for Docker schema implementations in preparing for supporting schema 2 in the OCI model
...
This adds additional required properties and methods to the Docker schema interface to allow us to treat both schema1 and schema2 manifests and lists logically equivalent from the OCI mode perspective
2018-11-12 23:27:01 +02:00