Commit graph

9073 commits

Author SHA1 Message Date
Joseph Schorr
68f8eb5a8f
Merge pull request #3120 from quay/joseph.schorr/QUAY-989/ip-api-key
Fix the IP data lookup to take in an API key
2018-06-20 16:58:09 -04:00
Joseph Schorr
371f6f8946
Merge pull request #3118 from quay/joseph.schorr/QUAY-977/catalog-efficiency
Catalog efficiency improvements
2018-06-20 16:40:37 -04:00
Joseph Schorr
ebb5d17641
Merge pull request #3119 from quay/joseph.schorr/QUAY-976/rate-limit-audit
Audit out endpoints and ensure everything has a defined rate limit (even if quite large)
2018-06-20 15:50:48 -04:00
Joseph Schorr
d4882f0077 Fix the IP data lookup to take in an API key
Fixes https://jira.coreos.com/browse/QUAY-989
2018-06-20 15:44:40 -04:00
Joseph Schorr
2caaf84f31 Add caching support to catalog
We will now cache the results of the catalog for 60s and not hit the database at all if cached
2018-06-20 14:58:01 -04:00
Joseph Schorr
33a8099f35 Temporarily double the request limit. We'll start ratcheting it down over time. 2018-06-20 14:31:51 -04:00
Joseph Schorr
1d94e4d605 Audit out endpoints and ensure everything has a defined rate limit (even if quite large)
For registry operations, these were the numbers found at time the PR was written:

download_blob 108 per second across fleet
v2_auth 180 per second across fleet
catalog 1 per second across fleet
fetch_manifest 205 per second across fleet
list_all_tags 150 per second across fleet

With an average fleet size of 25. As a result, we went with a registry limit of 10r/s (10 * 25 = 250 requests) to bound even the most prolific puller.

Fixes https://jira.coreos.com/browse/QUAY-976
2018-06-20 13:36:24 -04:00
Joseph Schorr
a1c06042c6 Add a unique_key fields to the auth context type for tracking different instances
This will allow us to lookup a cache for the catalog without needing to make a database call
2018-06-19 11:09:58 -04:00
Joseph Schorr
7604e9842b Change repo filtering for users to use a user ID reference, rather than the username
While this means we need an additional query for initial lookup, it makes the *filtering* query (which is the heavy part) require far fewer joins, thus making it more efficient.

Also adds a new unit test to verify that our filter filters to the correct set of repositories.
2018-06-19 10:51:30 -04:00
Joseph Schorr
f2b9aa4527 Add pytest cache files to gitignore 2018-06-19 10:50:23 -04:00
Joseph Schorr
a3554a73d8
Merge pull request #3069 from quay/joseph.schorr/QUAY-913/db-test-data
Add support for populating test data during migration testing
2018-06-19 10:40:28 -04:00
Joseph Schorr
3161b60522 Switch V2 pagination back to using IDs, which should be much faster and easier on the DB
Also adds a test for the tags endpoint
2018-06-18 16:11:26 -04:00
Joseph Schorr
f6ff0d6ca0 Add support for populating test data during migration testing
This change ensures that the tables in the database during migration have at least one row of "real" data, which should help catch issues in the future where we forget to set column defaults and other such schema oversights that can only be truly tested with non-empty tables

Fixes https://jira.coreos.com/browse/QUAY-913
2018-06-18 14:14:32 -04:00
Joseph Schorr
b8b2c75822
Merge pull request #3054 from quay/v2-manifest
V2 Schema 2 manifest support
2018-06-18 11:44:26 -04:00
Joseph Schorr
a73cd9170a Add schema2 list support 2018-06-15 16:00:39 -04:00
Joseph Schorr
52b12131f7 Add schema2 manifest and schema2 config, along with tests 2018-06-15 16:00:39 -04:00
Joseph Schorr
4bd70eab3c Add basic tests for schema1 2018-06-15 16:00:39 -04:00
Joseph Schorr
02b9549a79
Merge pull request #3117 from quay/joseph.schorr/QUAY-969/extract-torrent
Extract app from torrent handling code
2018-06-15 11:24:02 -04:00
Joseph Schorr
0fdefd78e9 Extract app from torrent handling code
Fixes https://jira.coreos.com/browse/QUAY-969
2018-06-14 17:29:39 -04:00
Joseph Schorr
c92c0ca5e1
Merge pull request #3116 from quay/brackets-in-labels
Fix display of brackets in the labels view
2018-06-14 12:59:41 -04:00
Joseph Schorr
02db044e0e Fix display of brackets in the labels view
Fixes https://jira.coreos.com/browse/QUAY-983
2018-06-14 11:44:20 -04:00
Sam Chow
1f823097a8
Merge pull request #3112 from quay/project/option
Config app entrypoint screen
2018-06-14 10:40:39 -04:00
Sam Chow
690b7674e7 Create intial config setup modal
remove the registry title
2018-06-13 16:44:12 -04:00
Sam Chow
e250f4ebe6
Merge pull request #3109 from quay/project/ssl
Implement SSL for Q.E. config app user
2018-06-13 15:32:25 -04:00
Joseph Schorr
840a547fc9
Merge pull request #3115 from quay/gitlab-fixes
Small fixes for GitLab trigger handler, since the GitLab API is returning the wrong ID for the user's namespace
2018-06-13 15:15:02 -04:00
Joseph Schorr
63ed683dfa Small fixes for GitLab trigger handler, since the GitLab API is returning the wrong ID for the user's namespace
Also has a small UI improvement
2018-06-13 15:12:05 -04:00
Brad Ison
51469001c8
Merge pull request #3114 from bison/travis-slack
Add Slack notifications to Travis CI config
2018-06-13 14:55:54 -04:00
Brad Ison
86e5b87211
Add Slack notifications to Travis CI config 2018-06-13 14:51:53 -04:00
Sam Chow
69c155ef4f Sets up nginx on image for config app with ssl
Move copying entry scripts to quay-entrypoint
2018-06-13 14:29:11 -04:00
Brad Ison
0b0bd156f7
Merge pull request #3113 from bison/travis-branches
Only build master branch and PRs on Travis CI
2018-06-13 14:24:47 -04:00
Brad Ison
70c5b898a9
Only build master branch and PRs on Travis CI 2018-06-13 14:22:15 -04:00
Brad Ison
2b19e1d93f
Merge pull request #3111 from bison/travis-cache-clean
Always clean Travis CI cache if build fails
2018-06-13 14:15:27 -04:00
Brad Ison
268952a492
Allow arbitrary commands passed to entrypoint 2018-06-13 13:26:45 -04:00
Brad Ison
5ce15348ea
Parallelize pytest runs in Makefile 2018-06-13 13:03:11 -04:00
Brad Ison
0501e0b996
Fix failing full-db tests 2018-06-13 13:03:11 -04:00
Brad Ison
e2bde377d6
Use before_cache instead of after_failure to clean cache 2018-06-13 13:03:11 -04:00
Brad Ison
23c01b40c5
Always clean Travis CI cache if build fails 2018-06-12 20:35:37 -04:00
Sam Chow
093a58558c
Merge pull request #3104 from quay/project/app-endpoints
Config App initial entrypoint
2018-06-12 17:03:59 -04:00
Joseph Schorr
1be22a9a56
Merge pull request #3110 from quay/joseph.schorr/QUAY-966/gitlab-v4
Reimplement GitLab trigger handler using the V4 API library
2018-06-12 17:03:31 -04:00
Joseph Schorr
bf966545ba Reimplement GitLab trigger handler using the V4 API library
GitLab has deprecated and removed the V3 API entirely

Fixes https://jira.coreos.com/browse/QUAY-966
2018-06-12 15:01:37 -04:00
Sam Chow
27721a8632 Add docker shell mode, and remove some config 2018-06-12 14:45:04 -04:00
Sam Chow
479f4c3fa4 Set custom entrypoint for ci scripts to run image
increase timeout for cache push
revert test db change
2018-06-12 14:45:03 -04:00
Sam Chow
79a05909d5 Remove kube and scshutdown endpoint 2018-06-12 14:45:00 -04:00
Sam Chow
e9d24dc5ff Make script paths work in docker and locally for config_app 2018-06-12 14:45:00 -04:00
Sam Chow
d5db3462b9 Add cor progress bar 2018-06-12 14:45:00 -04:00
Sam Chow
13293ecdea Fix dockerfile being able to pass in params
Change config directory to local config_app one
2018-06-12 14:45:00 -04:00
Sam Chow
acf242f241 Port some suconfig/superuser endpoints, with data.model references 2018-06-12 14:45:00 -04:00
Sam Chow
841053f878 Change import paths to be absolute, change pythonpath for config app 2018-06-12 14:44:15 -04:00
Sam Chow
c378e408ef Add some basic endpoints to the config app backend
rename files to avoid overlap with quay app
2018-06-12 14:44:15 -04:00
Sam Chow
d080ca2cc6 Create webpack config for config app
further improve developer morale

get initial angular loading

Add remote css to config index

Starts work to port endpoints into config app

Add the api blueprint
2018-06-12 14:44:15 -04:00