Commit graph

9087 commits

Author SHA1 Message Date
Joseph Schorr
bbfb0211dc Fix bug where we weren't properly caching enum values and we were always looking up the media type when constructing manifests 2019-01-22 14:46:38 -05:00
Joseph Schorr
ed75daf3d9
Merge pull request #3339 from quay/fix-backfill-bug
Fix a bug in manifest backfill that made it only work on active tags
2019-01-21 17:06:39 -05:00
Joseph Schorr
0035a1ec6d Fix a bug in manifest backfill that made it only work on active tags 2019-01-21 16:59:37 -05:00
Joseph Schorr
cb637e1233
Merge pull request #3338 from quay/oci-whitelist
Allow namespaces to be whitelisted for OCI, but not V22
2019-01-21 15:13:25 -05:00
Joseph Schorr
7c241a93f6 Allow namespaces to be whitelisted for OCI, but not V22 2019-01-21 14:40:26 -05:00
Joseph Schorr
92808e8d3f
Merge pull request #3337 from quay/additional-validation-test
Add an additional validation test to the tag backfill worker tests
2019-01-21 14:17:47 -05:00
Joseph Schorr
74bc161b2e Add an additional validation test to the tag backfill worker tests 2019-01-21 14:06:30 -05:00
Joseph Schorr
171e2ec39b
Merge pull request #3336 from quay/small-cleanup
Some small cleanup to the tag backfill worker
2019-01-21 13:43:46 -05:00
Joseph Schorr
c1ac12ff8d Some small cleanup to the tag backfill worker 2019-01-21 13:37:11 -05:00
Joseph Schorr
bd6efe9563
Merge pull request #3335 from quay/logs-loader
Fix the location and display of loader UI in logs view
2019-01-18 14:48:19 -05:00
Joseph Schorr
9a6674c473 Fix the location and display of loader UI in logs view 2019-01-18 14:19:09 -05:00
Joseph Schorr
f03abfef12
Merge pull request #3332 from quay/joseph.schorr/QUAY-1245/retarget-schema1-manifest
Add support for retargeting a tag to all schema 1 manifests
2019-01-16 15:06:08 -05:00
Joseph Schorr
f0d74111d8
Merge pull request #3334 from quay/configurable-timeout
Make the timeout for the tags backfill worker configurable
2019-01-16 13:32:17 -05:00
Joseph Schorr
92e6e06e90 Make the timeout for the tags backfill worker configurable 2019-01-16 13:30:36 -05:00
Joseph Schorr
c60e3e0341
Merge pull request #3333 from quay/additional-tag-backfill-tests
Additional tag backfill tests, config and logs
2019-01-16 13:12:44 -05:00
Joseph Schorr
1cda16f055 Add additional logs 2019-01-16 11:39:57 -05:00
Joseph Schorr
0f18b3a70a Allow filtering of the backfill by namespace 2019-01-16 11:36:09 -05:00
Joseph Schorr
2a4646b1ca Add extra verification that backfilling hits all tags in a repository 2019-01-16 11:30:01 -05:00
Joseph Schorr
d49fd1c727 Make sure we backfilled at least one dead tag 2019-01-16 11:24:33 -05:00
Joseph Schorr
570d974067 Add support for retargeting a tag to all schema 1 manifests
Schema version 1 manifests contain the tag name, and we have a check to ensure we don't point a tag at a manifest with the wrong name embedded. However, this also means that we cannot retarget to that manifest, which will break the UI once we get rid of legacy images.

This change means we can retarget to those manifests, and the OCI model does the work of rewriting the manifest when necessary.
2019-01-15 16:00:06 -05:00
Joseph Schorr
a1caefcabe
Merge pull request #3331 from thomasmckay/1286-nginx-names
1286 - increase nginx server name length
2019-01-15 15:30:35 -05:00
Kenny Lee Sin Cheong
bae3a47ee2
v1 registry flags for nginx server blocks (#3307) 2019-01-15 15:22:59 -05:00
Tom McKay
628bf07979 1286 - increase nginx server name length 2019-01-15 12:39:05 -05:00
Joseph Schorr
6d5ec4eddf
Merge pull request #3329 from quay/tag-backfill-improvements
A few small improvements to the tag backfill worker
2019-01-15 12:05:44 -05:00
Joseph Schorr
19b9d6c927
Merge pull request #3328 from quay/optimize-tags-query
Optimize the list active tags query
2019-01-14 16:54:54 -05:00
Joseph Schorr
14349c6f58
Merge pull request #3330 from quay/fix-manifest-security-link
Fix the links in manifest security view
2019-01-14 15:30:09 -05:00
Joseph Schorr
e5f57b9d98 Fix the links in manifest security view 2019-01-14 15:08:18 -05:00
Kenny Lee Sin Cheong
df639750f1
Fix tag reversion UI (#3295)
* Remove unused check

The tags returned from the tag history endpoint did not have
an image_id field until https://github.com/quay/quay/pull/3238 (tags pagination), so the
condition was never met. After #3238, the tags returned from the tag
history endpoints have an image_id field, which is equal to its
docker_image_id field, to allow the same behavior from consumers
getting tags from the repository endpoint (e.g repo-view).

* watch repositoryTags instead of repository in repo-tag-history
2019-01-14 14:40:09 -05:00
Joseph Schorr
b8d60152c4 A few small improvements to the tag backfill worker
1) Remove the join on the min ID lookup. This join is incredibly slow and taxing on the database, so we simply set the minimum to the min database ID.
2) Increase the timeout on the worker.
3) Have the manifest backfill verify the contents of the backfilled manifests, to ensure we didn't mis-copy bytes due to the previous unicode issues
2019-01-14 13:43:42 -05:00
Joseph Schorr
fe45797490 Optimize the list active tags query
Some customers are hitting this endpoint rapidly for repositories with many, many tags. This change drops the unnecessary joins, which should reduce database load somewhat.
2019-01-14 13:34:25 -05:00
Joseph Schorr
defd4b3b20
Merge pull request #3327 from quay/remove-charset
Remove the charset from the content type for manifests
2019-01-12 16:15:31 -05:00
Joseph Schorr
5b4d39daa4 Remove the charset from the content type for manifests 2019-01-12 16:06:11 -05:00
Joseph Schorr
a67d57b91c
Merge pull request #3326 from quay/remove-default-parse
Skip parsing the manifest where applicable
2019-01-12 13:42:26 -05:00
Joseph Schorr
e78b5c5516 Add an additional short circuit to avoid parsing the manifest when not necessary for older Docker clients
We also add tests for this case
2019-01-11 16:37:23 -05:00
Joseph Schorr
7f068c3fc3 Skip parsing the manifest where applicable
Instead of always parsing (like we did previously), we now only parse the manifest if conversion is necessary. This should save significant CPU.
2019-01-11 15:24:21 -05:00
Joseph Schorr
396ce21020
Merge pull request #3325 from quay/four-byte-utf8-fix
Fix handling of four byte utf8 manifests
2019-01-11 11:31:08 -05:00
Joseph Schorr
eb9ca8e8a8 Fix handling of four byte utf8 manifests
- Adds the charset: utf-8 to all the manifest responses
- Makes sure we connect to MySQL in utf8mb4 mode, to ensure we can properly read and write 4-byte utf8 strings
- Adds tests for all of the above
2019-01-10 16:34:56 -05:00
Joseph Schorr
62609fce3e
Merge pull request #3324 from quay/v1-pull-npe-fix
Fix V1 tag endpoint to properly return the fallback image or a 404 for tags without legacy images
2019-01-10 14:38:45 -05:00
Joseph Schorr
b1dd053b02 Fix an NPE when trying to pull a manifest without a legacy image via V1 2019-01-10 13:59:35 -05:00
Joseph Schorr
d9da838df1
Merge pull request #3322 from quay/further-unicode-fixes
Further fixes for unicode handling in manifests
2019-01-10 13:09:12 -05:00
Joseph Schorr
171c7e5238 Further fixes for unicode handling in manifests
We were occasionally trying to compute schema 2 version 1 signatures on the *unicode* representation, which was failing the signature check. This PR adds a new wrapper type called `Bytes`, which all manifests must take in, and which handles the unicodes vs encoded utf-8 stuff in a central location. This PR also adds a test for the manifest that was breaking in production.
2019-01-09 15:14:41 -05:00
Joseph Schorr
05fa2bcbe0
Merge pull request #3321 from quay/temp-disable-validate
Disable verification of schemas temporarily while we determine why some older schemas don't validate
2019-01-08 14:27:44 -05:00
Joseph Schorr
b7b64d84d3 Disable verification of schemas temporarily while we determine why some older schemas don't validate 2019-01-08 14:25:35 -05:00
Joseph Schorr
a156c91962
Merge pull request #3318 from quay/prod-fire-cleanup
Prod fire cleanup fixes
2019-01-07 14:11:42 -05:00
Joseph Schorr
636f65cb81 Disable flaky test on MySQL 2019-01-04 16:37:02 -05:00
Joseph Schorr
c510759df3 Remove the foreign key constraint from the kind field on the logentry3 table 2019-01-04 13:35:14 -05:00
Joseph Schorr
e309508776 Change lookup of blobs to not use a subquery, which is murder on MySQL 2019-01-03 15:41:21 -05:00
Joseph Schorr
cdb49dbfd3 Add LogEntry3 table without the extra indexes and switch to writing to it 2019-01-03 13:50:43 -05:00
Joseph Schorr
b6db002729 Fix references to LogEntry model used and add support for a maximum page of results on the logs API 2019-01-02 16:04:15 -05:00
Joseph Schorr
204eb74c4f Put aggregated log query and log exports behind feature flags 2019-01-02 16:04:15 -05:00