Joseph Schorr
dcb970b783
Add registry app repository failure test
2017-03-22 17:26:59 -04:00
Joseph Schorr
b5bb76cdea
Optimize repository search by changing our lookup strategy
...
Previous to this change, repositories were looked up unfiltered in six different queries, and then filtered using the permissions model, which issued a query per repository found, making search incredibly slow. Instead, we now lookup a chunk of repositories unfiltered and then filter them via a single query to the database. By layering the filtering on top of the lookup, each as queries, we can minimize the number of queries necessary, without (at the same time) using a super expensive join.
Other changes:
- Remove the 5 page pre-lookup on V1 search and simply return that there is one more page available, until there isn't. While technically not correct, it is much more efficient, and no one should be using pagination with V1 search anyway.
- Remove the lookup for repos without entries in the RAC table. Instead, we now add a new RAC entry when the repository is created for *the day before*, with count 0, so that it is immediately searchable
- Remove lookup of results with a matching namespace; these aren't very relevant anyway, and it overly complicates sorting
2017-03-09 19:47:55 -05:00
Joseph Schorr
a0bc0e9488
Implement the full spec for the old Docker V1 registry search API
...
This API is still (apparently) being used by the Docker CLI for `docker search` (why?!) and we therefore have customers expecting this to work the same way as the DockerHub.
2017-02-16 14:45:33 -05:00
Joseph Schorr
b3a74b94b3
Fix flaky port selection in registry tests
...
Depends on https://github.com/jarus/flask-testing/pull/98
[Fixes #136705135 ]
2017-01-18 15:06:11 -05:00
Joseph Schorr
481cebe46b
Fix pytests and enable parallel registry tests
2016-12-20 15:42:04 -05:00
Joseph Schorr
bab17932ac
Fix namespace lookup in V1 registry search
...
Fixes #2053
2016-10-31 13:24:40 -04:00
Joseph Schorr
3439f814b6
Fix quoting of scopes in WWW-Authenticate header
...
Fixes part of #2002
2016-10-17 14:32:43 -04:00
Joseph Schorr
18097a1bd6
Fix Link headers for pagination to match RFC
...
Fixes part of #2002
2016-10-17 13:57:05 -04:00
Joseph Schorr
c3ce491f02
Add a sleep to fix ACI conversion tests
...
This ensures that the cache is cleared before the second request is made
2016-10-14 13:36:47 -04:00
Jake Moshenko
df1f35e9f9
Always use absolute URLs in Location headers.
...
This works around docker/docker#15048
2016-10-10 16:30:24 -04:00
Joseph Schorr
a046141708
Add parent mis-ordered registry test
2016-10-04 19:26:12 +03:00
Joseph Schorr
f4e1748bb7
Fix parent rewrite bug in schema1 manifest code and add a bunch more tests
...
Before this change, if you ended up writing a middle layer whose parent is not in the database, the manifest would fail to rewrite. We now just lookup the parent image in the manifest given to us, ignoring whether it is in the database or not (as it doesn't actually matter if not present; it'll be created if necessary).
2016-10-04 09:15:27 -04:00
Joseph Schorr
f72cb1d2ba
Fix tags API pagination and add a test
2016-10-03 22:06:31 +03:00
Joseph Schorr
0b7bb6d6c6
Fix issue in V1 registry code with accessing locations under HEAD
...
Fixes #1922
2016-10-03 17:09:12 +03:00
Joseph Schorr
95b7b47501
Add a registry tests for numeric tags
2016-10-03 16:06:49 +03:00
josephschorr
684ace3b5a
Merge pull request #1761 from coreos-inc/nginx-direct-download
...
Add feature flag to force all direct download URLs to be proxied
2016-09-29 22:46:57 +02:00
Joseph Schorr
6ae3faf7fc
Add explicit config parameter to the JWT auth methods
2016-09-29 11:15:20 +02:00
Joseph Schorr
dd2e086a20
Add feature flag to force all direct download URLs to be proxied
...
Fixes #1667
2016-09-29 11:13:41 +02:00
Jimmy Zelinskie
fc7301be0d
*: fix legacy imports
...
This change reorganizes imports and renames the legacy flask extensions.
2016-09-28 20:17:14 -04:00
Joseph Schorr
3c8b87e086
Fix verbs in manifestlist
...
All registry_tests now pass
2016-09-26 14:49:58 -04:00
Joseph Schorr
db60df827d
Implement V2 interfaces and remaining V1 interfaces
...
Also adds some tests to registry tests for V1 stuff.
Note: All *registry* tests currently pass, but as verbs are not yet converted, the verb tests in registry_tests.py currently fail.
2016-09-26 14:49:04 -04:00
Joseph Schorr
1864196d8d
TAR creation is not deterministic, so we can't test repush consistently
2016-08-29 16:38:12 -04:00
Joseph Schorr
357005e33f
Raise a 409 if we try to insert a tag twice at the same time
...
Also fixes handling of labels for existing manifests
Fixes #1775
2016-08-29 16:03:35 -04:00
Joseph Schorr
608ffd9663
Basic labels support
...
Adds basic labels support to the registry code (V2), and the API. Note that this does not yet add any UI related support.
2016-08-26 15:24:26 -04:00
Joseph Schorr
c4daf1cc3d
Change permissions model so that non-admins do not get org-wide read
...
Fixes #1684
2016-08-04 16:47:28 -04:00
Joseph Schorr
3d558f6090
Disable ACI tests when build under Docker
...
We need to figure out why they fail on our build fleet
2016-07-13 14:23:30 -04:00
Joseph Schorr
a43b741f1b
Add a uniqueness hash to derived image storage to break caching over tags
...
This allows converted ACIs and squashed images to be unique based on the specified tag.
Fixes #92
2016-06-20 16:34:52 -04:00
Joseph Schorr
fea47bdaed
Increase test counter to 10
2016-06-13 17:31:42 -04:00
Joseph Schorr
4747dea395
Fix flaky tests
2016-06-13 16:00:55 -04:00
Joseph Schorr
8887f09ba8
Use the instance service key for registry JWT signing
2016-06-07 11:58:10 -04:00
josephschorr
cad8746f9d
Merge pull request #1502 from coreos-inc/image-replication
...
Enable storage replication for V2 and add backfill tool
2016-06-02 15:02:53 -04:00
Joseph Schorr
12924784ce
Enable storage replication for V2 and add backfill tool
...
Fixes #1501
2016-06-02 14:36:08 -04:00
Joseph Schorr
48213f9ff9
Reject manifest 2 earlier to make pushes faster
2016-06-02 12:46:20 -04:00
josephschorr
47afbb65dc
Merge pull request #1490 from coreos-inc/aci-reproduce
...
Make ACI generation consistent across calls
2016-05-26 19:37:01 -04:00
Joseph Schorr
4ec3a6c231
Make ACI generation consistent across calls
...
This will ensure that no matter which signature we write for the generated ACI, it is correct for that image.
2016-05-26 17:09:19 -04:00
Jake Moshenko
8323c51e6e
Extend registry auth to support notary JWTs.
2016-05-24 13:42:28 -04:00
Joseph Schorr
64fe11a5f1
Add ACI signing tests
2016-05-13 18:29:57 -04:00
Joseph Schorr
72fd2b76e2
Add basic ACI conversion tests
2016-05-13 15:50:57 -04:00
Joseph Schorr
232fa42897
Add testing of the new secscan-for-local endpoint and fix a bug
2016-05-04 21:47:03 -04:00
Jimmy Zelinskie
01b9606481
Merge pull request #1255 from jzelinskie/wwwauth
...
v2: always send www-authn headers on unauthorized
2016-02-22 12:49:37 -05:00
Jimmy Zelinskie
54a029e2bd
v2: always send www-authn headers on unauthorized
...
Fixes #1254 .
2016-02-22 12:48:19 -05:00
josephschorr
81a36ee3b8
Merge pull request #1217 from coreos-inc/v2pagination
...
Fix V2 catalog and tag pagination
2016-02-16 15:34:49 -05:00
Joseph Schorr
69262282fe
Make sure to encode all V1 metadata strings
...
Fixes #1239
2016-02-15 10:57:20 -05:00
Jake Moshenko
6454b5aeb7
Update the layer rename PR to preserve the original manifest
2016-02-12 16:25:47 -05:00
Joseph Schorr
abd2e3c234
V1 Docker ID <-> V2 layer SHA mismatch fix
...
Fix handling of V1 Docker ID <-> V2 layer SHA mismatch by dynamically rewriting the manifest to use new synthesized IDs for all layers above the mismatch. Also adds a bunch of tests for this and other use cases, fixes a bug around manifest digest uniqueness and fixes the 5.5 migration for MySQL.
2016-02-12 17:39:27 +02:00
Joseph Schorr
db0eab0461
Fix V2 catalog and tag pagination
2016-02-10 00:25:33 +02:00
Joseph Schorr
accc576a98
Fix V1 push URL to match Docker and fix registry tests
2016-01-29 16:42:15 +02:00
Joseph Schorr
8cd38569d6
Fix issue with Docker 1.8.3 and pulling public repos with no creds
...
We now return the valid subset of auth scopes requested.
Adds a test for this case and adds testing of all returned JWTs in the V2 login tests
2016-01-25 15:54:17 -05:00
Joseph Schorr
e4ffaff869
Fix Docker Auth and our V2 registry paths to support library (i.e. namespace-less) repositories.
...
This support is placed behind a feature flag.
2016-01-22 15:54:06 -05:00
Joseph Schorr
06b0f756bd
Fix test to reflect change in the status code returned for no torrent available
2016-01-20 18:35:07 -05:00