josephschorr
e79555ef95
Merge pull request #2547 from coreos-inc/disable-for-trust
...
Disable certain APIs and build triggers when trust is enabled
2017-04-17 13:05:16 -04:00
Joseph Schorr
6f722e4585
Disable certain APIs and build triggers when trust is enabled
...
Since trust will break if Quay makes changes, disable all Quay tag-change APIs and build APIs+webhooks when trust is enabled on a repository. Once we get Quay signing things itself, we can revisit this.
2017-04-17 13:04:51 -04:00
Jake Moshenko
22f5934f34
Add error logging to Marketo calls
2017-04-17 10:19:52 -04:00
Evan Cordell
2661db7485
Add flag to enable trust per repo ( #2541 )
...
* Add flag to enable trust per repo
* Add api for enabling/disabling trust
* Add new LogEntryKind for changing repo trust settings
Also add tests for repo trust api
* Add `set_trust` method to repository
* Expose new logkind to UI
* Fix registry tests
* Rebase migrations and regen test.db
* Raise downstreamissue if trust metadata can't be removed
* Refactor change_repo_trust
* Add show_if to change_repo_trust endpoint
2017-04-15 08:26:33 -04:00
Jake Moshenko
8d279c8cc4
Unify app and api exception handling
...
Move some confi to an immutable section
Make ApiExceptions real werkzeug exceptions
2017-04-14 11:18:01 -04:00
Joseph Schorr
ab2f044331
Switch get repo API to use a single list tags query
...
Should make things faster since the join occurs on the database side
2017-04-13 18:06:58 -04:00
Jimmy Zelinskie
93d1439e04
endpoints.web: fix unknown identifier
2017-04-13 13:54:20 -04:00
Evan Cordell
ec63e495fc
Add repo purge callbacks and register TUF metadata deletion as one
2017-04-12 17:33:51 -04:00
Evan Cordell
abe6f40bc5
Add support for deleting TUF metadata when repo is deleted
2017-04-12 17:33:51 -04:00
Joseph Schorr
b465a34e8f
Temporary fix for additional exception classes handled in Flask
...
The recent change to Flask-restful broke the other registered exception handlers, so this temporarily handles the decorated cases as well, until we put in place a proper registration model for Flask and Flask-restful handled exceptions
2017-04-11 23:02:26 -04:00
josephschorr
2bc619137a
Merge pull request #2512 from ecordell/tufmetadata
...
Add tufmetadata endpoint
2017-04-07 17:16:11 -04:00
Evan Cordell
c2d7fc2288
Fix comment
2017-04-07 16:14:25 -04:00
Evan Cordell
217b4a5ab2
Return hashes and expiration when fetching signed tags
2017-04-07 16:12:28 -04:00
Jake Moshenko
e371ed69bb
Fix for flask-restful >0.3 error handling
2017-04-07 10:22:50 -04:00
Jake Moshenko
a8ec7865a7
Merge pull request #2511 from jakedt/fixwarnings
...
Fixwarnings
2017-04-06 16:12:19 -04:00
Jake Moshenko
a0817bfd59
Refresh dependencies and fix tests.
2017-04-06 13:15:48 -04:00
josephschorr
6352b3cac5
Merge pull request #2515 from coreos-inc/app-redirect
...
Properly redirect to app repository URLs
2017-04-05 14:34:37 -04:00
Joseph Schorr
45e1319067
Properly redirect to app repository URLs
2017-04-05 14:29:46 -04:00
Joseph Schorr
c6b45298ad
Make app repos private by default
2017-04-05 14:11:06 -04:00
Evan Cordell
1a78722521
Update tests
2017-04-05 13:57:16 -04:00
Joseph Schorr
f9e6110f73
Add basic user interface for application repos
...
Adds support for creating app repos, viewing app repos and seeing the list of app repos in the Quay UI.
2017-04-05 11:30:09 -04:00
Evan Cordell
9515f18fb6
Add tufmetadata endpoint
2017-04-05 10:03:27 -04:00
Joseph Schorr
8c10b0787d
Change appr error if you try to push to an image repository
...
501 was confusing to the users, so change to 405 and add an error explaining why the push failed
Fixes https://github.com/app-registry/helm-plugin/issues/8#issuecomment-291553739
2017-04-04 13:57:35 -04:00
josephschorr
1bfca871ec
Merge pull request #2387 from coreos-inc/team-sync
...
Team synchronization support in Quay Enterprise
2017-04-03 18:26:29 -04:00
Joseph Schorr
55b1ad49ed
Make team API decorators more descriptive for better readability
2017-04-03 15:35:44 -04:00
josephschorr
3f0f8159b7
Merge pull request #2499 from coreos-inc/docker-400
...
Better error messages for Docker errors
2017-04-03 11:39:07 -04:00
Joseph Schorr
47278cc559
Cleanup test fixtures
2017-04-03 11:31:30 -04:00
Joseph Schorr
04225f2d25
Add feature flag for team syncing
2017-04-03 11:31:29 -04:00
Joseph Schorr
b683088f87
Update tests for teams API
2017-04-03 11:31:29 -04:00
Joseph Schorr
eeadeb9383
Initial interfaces and support for team syncing worker
2017-04-03 11:31:29 -04:00
Joseph Schorr
8ea3977140
Add ability to enable, disable and view team syncing in UI and API
...
Also extracts out some common testing infrastructure to make testing APIs easier now using pytest
2017-04-03 11:31:29 -04:00
Joseph Schorr
f5a854c189
Add TeamSync database and API support
...
Teams can now have a TeamSync entry in the database, indicating how they are synced via an external group. If found, then the user membership of the team cannot be changed via the API.
2017-04-03 11:31:28 -04:00
Joseph Schorr
cae9d69376
Better error messages for Docker errors
2017-03-31 17:15:14 -04:00
Charlton Austin
484ecd961e
Merge pull request #2497 from charltonaustin/add_in_dockerfile_path
...
feat(add dockerfile_path to build api): added param to specify path
2017-03-30 16:30:44 -04:00
Charlton Austin
63a2f0c14b
feat(add dockerfile_path to build api): added in a dockerfile to specify path
...
### Description of Changes
this allows people to specify a context and a dockerfile path
2017-03-30 16:30:00 -04:00
Joseph Schorr
147b812edb
Remove out dated Enterprise landing page
...
We now just redirect to the QE plans page
Fixes https://www.pivotaltracker.com/story/show/142166263
2017-03-30 15:25:56 -04:00
Charlton Austin
d4177e6e33
fix(endpoints): appending dockerfile to api call
...
### Description of Changes
this was not passing back the correct path for the dockerfile
2017-03-30 13:35:04 -04:00
Joseph Schorr
e142ad8e3d
$CURRENT_YEAR
2017-03-29 17:03:57 -04:00
josephschorr
b4e79206a0
Merge pull request #2490 from coreos-inc/upload-cert-blocker
...
Make custom cert upload not hang and handle errors properly
2017-03-29 16:11:13 -04:00
Joseph Schorr
835acfc58e
Make custom cert upload not hang and handle errors properly
2017-03-29 16:06:15 -04:00
Charlton Austin
df5a6aabe2
fix(buildman, endpoint): added in fix upload gzip and dockerfile
2017-03-29 15:12:33 -04:00
Charlton Austin
ca99535774
Merge pull request #2449 from charltonaustin/phase_two_config
...
feat(build runner): added in context, dockerfile_location
2017-03-28 14:14:36 -04:00
Charlton Austin
e6d201e0b0
feat(build runner): added in context, dockerfile_location
...
this is a new feature meant to allow people to use any file as
a dockerfile and any folder as a context directory
2017-03-28 13:55:31 -04:00
Jimmy Zelinskie
65a17dc155
Merge pull request #2473 from coreos-inc/certs-fixes
...
Fixes and improvements around custom certificate handling
2017-03-27 15:08:36 -04:00
Jimmy Zelinskie
8931609775
Merge pull request #2469 from coreos-inc/appr_403_vs_401
...
Use 401 for bad or missing credentials, 403 for forbidden access
2017-03-27 11:39:23 -04:00
Jimmy Zelinskie
024f73ecd4
Merge pull request #2476 from coreos-inc/fix_bug_force_push
...
Fix force push causing duplicated entries
2017-03-27 11:39:12 -04:00
Evan Cordell
abd78bce56
Use constants for TUF roots
2017-03-27 11:37:17 -04:00
Evan Cordell
6ad107709c
Change build_context_and_subject to take kwargs
2017-03-27 11:37:17 -04:00
Evan Cordell
21d969d309
Refactor tests, no g required
2017-03-27 11:37:17 -04:00
Evan Cordell
43dd974dca
Determine which TUF root to show based on actual access, not requested
...
access
2017-03-27 11:37:17 -04:00
Antoine Legrand
d2ed37e158
Fix force push causing duplicated entries
2017-03-27 15:39:57 +02:00
Joseph Schorr
e509eb4cba
Better custom cert handling in the superuser tool
...
We now only allow certificates ending in .crt to be uploaded and we automatically install the certificate once it has been validated
2017-03-24 17:15:26 -04:00
Antoine Legrand
35bebf9e99
Use 401 for bad or missing credentials, 403 for forbidden access
2017-03-24 18:46:13 +01:00
Joseph Schorr
94c5eca286
Add CNR API auth tests for public repos
2017-03-23 21:19:56 -04:00
Jimmy Zelinskie
0ce68706ee
Merge pull request #2465 from coreos-inc/force_push
...
Allow force push for app
2017-03-23 21:05:08 -04:00
Antoine Legrand
16f2479a96
test: push twice same blob from different package
2017-03-24 00:39:04 +01:00
Antoine Legrand
bbd74eabd1
Allow force push for app
2017-03-23 22:50:07 +01:00
Joseph Schorr
ac4a79ae01
Update PR for rebase
2017-03-23 15:57:49 -04:00
Joseph Schorr
95e1cf6673
Make V2 login errors more descriptive
...
If login fails, we now call validate again to get the reason for the failure, and then surface it to the user of the CLI. This allows for more actionable responses, such as:
$ docker login 10.0.2.2:5000
Username (devtable): devtable
Password:
Error response from daemon: Get http://10.0.2.2:5000/v2/ : unauthorized: Client login with unencrypted passwords is disabled. Please generate an encrypted password in the user admin panel for use here.
2017-03-23 15:42:45 -04:00
Joseph Schorr
651666b60b
Refactor our auth handling code to be cleaner
...
Breaks out the validation code from the auth context modification calls, makes decorators easier to define and adds testing for each individual piece. Will be the basis of better error messaging in the following change.
2017-03-23 15:42:45 -04:00
Joseph Schorr
1bd4422da9
Move auth decorators into a decorators module
...
The non-decorators will be broken out in the followup change
2017-03-23 15:42:45 -04:00
Joseph Schorr
abf179eb09
Move fixtures under test, since they are shared globally
2017-03-23 15:42:45 -04:00
Joseph Schorr
c9a5ce6701
Start validating login in CNR
...
Fixes https://www.pivotaltracker.com/story/show/142342305
2017-03-23 15:07:46 -04:00
Joseph Schorr
ef4569f2c5
Add very basic security tests for CNR APIs
2017-03-23 13:14:12 -04:00
Joseph Schorr
b765836cfd
Make sure blobs in CNR are auth checked
2017-03-23 12:41:56 -04:00
Jimmy Zelinskie
77d2b9b290
endpoints.appr.test: mark failing db restore test
...
This test should fail as long as the CNR tests use 'v1' in the
mediatype.
2017-03-23 11:24:15 -04:00
Joseph Schorr
35b500aa2a
Fix test override
2017-03-23 11:17:05 -04:00
Joseph Schorr
e7d7849937
Make sure channels and releases match the tag regex
2017-03-23 00:55:36 -04:00
Joseph Schorr
3277fe9b4e
Make sure repository names in APPR match regex
2017-03-23 00:51:54 -04:00
Joseph Schorr
1145651b7a
Work towards fixing tests
2017-03-23 00:37:39 -04:00
Joseph Schorr
069208f2f1
Break out repo kind checking into its own decorator
...
We then use that decorator both in the API and in the permissions check decorator
2017-03-23 00:01:37 -04:00
Joseph Schorr
4c34b00b38
Prevent CNR methods from auth-ing on non-app repos
2017-03-22 23:56:34 -04:00
Jimmy Zelinskie
3d0e63d8e5
endpoints.appr.decorators: isolate appr decorators
2017-03-22 23:53:03 -04:00
Jimmy Zelinskie
6dfd1ef660
endpoints.appr.test: include CNR fixtures
2017-03-22 23:42:19 -04:00
Jimmy Zelinskie
82bcd45727
endpoints: clarify repo access decorators
2017-03-22 23:41:38 -04:00
Jimmy Zelinskie
cafde81322
endpoints.appr.test: init
2017-03-22 22:57:22 -04:00
Jimmy Zelinskie
102c671587
endpoints.appr: init
2017-03-22 22:57:21 -04:00
Jimmy Zelinskie
3ccf3c5f33
Merge pull request #2447 from jzelinskie/cnr-step2
...
CNR Step 2
2017-03-22 18:45:51 -04:00
Joseph Schorr
df1e7f90e0
Add verb security tests and fix small issues
2017-03-22 18:29:53 -04:00
Jimmy Zelinskie
d5fa2ad0c0
endpoints.verbs: abort 405 for non-container repos
2017-03-22 17:50:58 -04:00
Joseph Schorr
dcb970b783
Add registry app repository failure test
2017-03-22 17:26:59 -04:00
Jimmy Zelinskie
ca7a0f14d8
endpoints.v1: return 405 for non-docker repos
2017-03-22 17:26:59 -04:00
Jimmy Zelinskie
48ba59d615
endpoints.v2: only work on docker repositories
2017-03-22 17:26:59 -04:00
Joseph Schorr
178373293d
Disable web endpoints for app repos
2017-03-22 15:51:19 -04:00
Joseph Schorr
54efed62ee
Make sure start_build
cannot be called for app repos
2017-03-22 15:51:19 -04:00
Joseph Schorr
30b532254c
Disallow non-apps-supported APIs for application repositories
2017-03-22 15:51:19 -04:00
Jimmy Zelinskie
a2bac7dabd
endpoints.v1: only work on docker repositories
2017-03-22 14:31:22 -04:00
Joseph Schorr
ff7f78e990
Have blob uploads be checked against configurable max layer size
2017-03-21 13:16:55 -04:00
Joseph Schorr
239b6d7cf8
Make LayerTooLarge error more informative
2017-03-21 13:14:11 -04:00
Joseph Schorr
dd7f254f96
Have blob uploads be checked against configurable max layer size
2017-03-21 13:14:11 -04:00
josephschorr
4bee4dbfff
Merge pull request #2443 from coreos-inc/build-webhook-tests
...
Add tests for build web hooks endpoint
2017-03-20 16:26:57 -04:00
Joseph Schorr
8bbe0e5e9b
Always allow robot accounts to be selected by admins in trigger setup
...
Currently during trigger setup, if we don't know for sure that a robot account is necessary, we don't show the option to select one. This fails if the user has a Dockerfile in a branch or tag with a private base image *or* they *intend* to add a private base image once the trigger is setup. Following this change, we always show the option to select a robot account, even if it isn't determined to be strictly necessary.
2017-03-20 13:24:55 -04:00
Joseph Schorr
6f567e0850
Add tests for build web hooks endpoint
2017-03-20 13:22:59 -04:00
Joseph Schorr
cfb81c977f
Add UI for editing labels on a manifest
2017-03-14 11:34:43 -04:00
Joseph Schorr
69e476b1f4
Fix param regex for path params with complex filters
2017-03-14 11:34:43 -04:00
Joseph Schorr
e90cab4d77
Change revert tag into restore tag and add manifest support
2017-03-14 11:34:42 -04:00
Joseph Schorr
af743b156b
Show manifest digests in place of V1 ids in the tag view when possible
2017-03-14 11:34:41 -04:00
josephschorr
432b2d3fe8
Merge pull request #2392 from coreos-inc/search-optimization
...
Optimize repository search by changing our lookup strategy
2017-03-10 15:44:26 -05:00
Joseph Schorr
d42ec4e585
Abstract out constant scores into constants
2017-03-10 14:06:39 -05:00
Joseph Schorr
3813d0d23d
Add tests for all notification event calls
2017-03-10 11:26:12 -05:00