This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/endpoints
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
..
api Optimize repository search by changing our lookup strategy 2017-03-09 19:47:55 -05:00
keyserver key server: fix tests by exporting jwk_with_kid 2016-10-25 16:14:18 -04:00
oauth Move OAuth login into its own endpoints module 2017-02-16 16:27:54 -05:00
test Move OAuth login into its own endpoints module 2017-02-16 16:27:54 -05:00
v1 Optimize repository search by changing our lookup strategy 2017-03-09 19:47:55 -05:00
v2 Adding in what metadata_root_name to JWT 2017-02-22 16:59:19 -05:00
verbs Fix the order and number of arguments for squashing/ACI 2017-01-11 15:16:49 -05:00
__init__.py Refactor the code into modules, it was getting unweildy. 2013-09-25 12:45:12 -04:00
bitbuckettrigger.py Implement new create and manager trigger UI 2017-02-28 16:51:42 -05:00
building.py replace prefix w/ canonical name list 2016-12-07 12:56:56 -05:00
common.py Merge pull request #2292 from coreos-inc/frontend-typescript 2017-02-02 14:24:35 -08:00
csrf.py Switch csrf token check to use compare_digest to prevent timing attacks 2016-12-08 23:46:31 -05:00
decorated.py *: fix legacy imports 2016-09-28 20:17:14 -04:00
decorators.py Make our JWT subjects better and log using the info 2015-12-14 14:00:33 -05:00
exception.py Catch SSL errors due to timeouts in Github calls 2017-02-22 13:20:04 -05:00
githubtrigger.py Implement new create and manager trigger UI 2017-02-28 16:51:42 -05:00
gitlabtrigger.py Implement new create and manager trigger UI 2017-02-28 16:51:42 -05:00
notificationevent.py Make QSS multiple notification messaging nicer 2017-03-01 16:11:11 -05:00
notificationhelper.py Fix unsafe mutable default params. 2016-12-06 14:00:16 -05:00
notificationmethod.py Add a defined timeout on all HTTP calls in notification methods 2016-11-08 18:28:06 -05:00
realtime.py rename auth.auth to auth.process 2016-09-29 15:24:57 -04:00
secscan.py Have QSS only add security scanner notifications once 2016-12-05 19:08:20 -05:00
trackhelper.py Only parse request URL in track_and_log when necessary 2017-01-18 11:23:23 -05:00
web.py Implement new create and manager trigger UI 2017-02-28 16:51:42 -05:00
webhooks.py build queue rate limiting: address PR comments 2016-12-06 20:40:54 -05:00
wellknown.py Add API endpoint for retrieving security status by *manifest*, rather than Docker V1 image ID 2017-02-02 17:51:18 -05:00