Commit graph

1096 commits

Author SHA1 Message Date
Joseph Schorr
e654b2b608 Branch.name has to use a dot accessor, not a dict lookup 2014-10-03 12:35:58 -04:00
Joseph Schorr
1d8ec59362 Merge branch master into bees 2014-10-02 15:08:32 -04:00
Joseph Schorr
c682899861 Add a feature flag to disable user creation 2014-10-02 14:49:18 -04:00
Jake Moshenko
5c18ffe67d Allow the namespace column to be null, and also non-unique. Fix the uncompressed size clobbering the size on the wire field. Add metadata constraints so that foreign key constraints get predictable names. Fix all downgrade migrations. 2014-10-02 10:46:20 -04:00
Jake Moshenko
e8b3d1cc4a Phase 4 of the namespace to user migration: actually remove the column from the db and remove the dependence on serialized namespaces in the workers and queues 2014-10-01 14:23:46 -04:00
Joseph Schorr
d9c7e92637 Add superuser abilities: create user, show logs. Also fix the super users UI to show the user drop down and make all superuser API calls require fresh login 2014-10-01 13:55:09 -04:00
Joseph Schorr
039d53ea6c - Fix initdb
- Add ability to specific custom fields for manual running of build triggers and add a "branch name" selector for running github builds
2014-09-30 16:29:32 -04:00
Joseph Schorr
474add0fb1 Have the layer PUT method calculate the uncompressed size in realtime, as trusting the JSON is fraught with complications 2014-09-29 17:00:47 -04:00
Joseph Schorr
dd4c26cb00 Only operations with nicknames can be added to the swagger doc 2014-09-28 15:40:08 -04:00
Jake Moshenko
03190efde3 Phase 2 of migrating repo namespaces to referencing user objects, backfilling the rows without a value for namespace_user, and changing all accesses to go through the namespace_user object. All tests are passing, manual testing still required. 2014-09-24 18:01:35 -04:00
Joseph Schorr
ec484e3efc Move size and checksum updates into the metadata call 2014-09-23 15:49:28 -04:00
Joseph Schorr
86dfca2e3e Add uncompressed size field to the image storage and add a backfill script (which is not yet automatically called) 2014-09-23 14:01:27 -04:00
Joseph Schorr
87bc37f6c8 Merge branch 'sunday' 2014-09-23 11:29:03 -04:00
Joseph Schorr
ba0963a81c Update the worker code to better handle exceptions, fix the utcdate issue and make sure we send the proper retry. Also updates notification workers to send JobExceptions rather than returning true or false 2014-09-23 11:01:50 -04:00
Joseph Schorr
8dd2330ce7 Switch to using straight docker IDs instead of a hashing scheme 2014-09-23 11:01:50 -04:00
Joseph Schorr
9621566d31 Instead of sending DB IDs, send "internal IDs" which are DB IDs hashed. This way, we can still calculate the ancestors without hitting the DB further, but without leaking the size of the images table 2014-09-23 11:01:50 -04:00
Joseph Schorr
f3b03ebc34 Add a feature flag for disabling all emails 2014-09-22 19:11:48 -04:00
Jake Moshenko
3259cda000 The new strategy is to do a three phase migration. This is the first phase: getting the namespace user in the db and written for all new repositories. 2014-09-22 17:27:02 -04:00
Joseph Schorr
dc685b2387 Merge branch 'huggies' 2014-09-22 13:41:29 -04:00
Joseph Schorr
f23038c6ee Update the worker code to better handle exceptions, fix the utcdate issue and make sure we send the proper retry. Also updates notification workers to send JobExceptions rather than returning true or false 2014-09-22 12:52:57 -04:00
Joseph Schorr
e5055763f6 Make the squashed path smaller and handle failure cases on the curl side 2014-09-19 12:54:52 -04:00
Joseph Schorr
e273dca4b4 Change back to using a docker load format 2014-09-19 12:22:54 -04:00
Jake Moshenko
8626d1cd70 Initial changes to move repositories from using a namespace string to referencing a user object. Also stores the user id in the cookie rather than the username, to allow users to be renamed. This commit must not be used unmodified because the database migration is too aggressive for live migration. 2014-09-19 10:17:23 -04:00
Jake Moshenko
11bb8e6448 Actually store the generated image storage in the database, and allow it to be garbage collected when the parent image storage is collected. 2014-09-18 17:26:40 -04:00
Joseph Schorr
a90aab4665 Switch to using straight docker IDs instead of a hashing scheme 2014-09-18 17:16:10 -04:00
Joseph Schorr
b212dbb2ab Merge branch 'master' into better-emails 2014-09-18 13:20:32 -04:00
Joseph Schorr
efc06b54f6 Add a TODO and some slightly better naming 2014-09-16 22:44:45 -04:00
Joseph Schorr
1cfb6fc353 Have the squashing system write the data (via a double queue system and multiprocessing) to both the client and the stack's storage. On subsequent calls, if the synthetic image exists, it will be returned directly instead of being recomputed 2014-09-16 22:43:19 -04:00
Joseph Schorr
5cca609c55 Switch back to send_file and add a bit of gzip buffering 2014-09-16 14:20:42 -04:00
Joseph Schorr
9344839295 Get squashed endpoint for docker import working 2014-09-16 11:53:54 -04:00
Joseph Schorr
e3c52fa0eb Work in progress. This is currently broken! 2014-09-16 00:18:57 -04:00
Jake Moshenko
75d2ef377e Merge remote-tracking branch 'origin/master' into comewithmeifyouwanttowork
Conflicts:
	data/model/legacy.py
2014-09-15 17:52:17 -04:00
Joseph Schorr
913b3e472f Add ability to detach external login services 2014-09-15 12:01:02 -04:00
Joseph Schorr
e8ad01cb41 Lots of small NPE and other exception fixes 2014-09-15 11:27:33 -04:00
Joseph Schorr
10faa7de84 Only allow users matching the team invite to accept, if the invite was specified for a user (rather than an email) 2014-09-12 14:29:01 -04:00
Jake Moshenko
c5ca46a14b Merge remote-tracking branch 'origin/master' into comewithmeifyouwanttowork
Conflicts:
	data/model/legacy.py
	static/js/app.js
2014-09-12 11:03:30 -04:00
Joseph Schorr
8d3ce44682 Address comments on code review 2014-09-11 15:45:41 -04:00
Jake Moshenko
8b3a3178b0 Finish the build logs archiver, add handlers for cloud and local that handle gzip encoded archived content. 2014-09-11 15:33:10 -04:00
Jake Moshenko
539fc04205 Seek the file pointer to zero since we now use multipart for upload of userfiles, which does not seek automatically. 2014-09-10 17:18:49 -04:00
Jake Moshenko
29d40db5ea Add a new RadosGW storage engine. Allow engines to distinguish not only between those that can support direct uploads and downloads, but those that support doing it through the browser. Rename resumeable->resumable. 2014-09-09 15:54:03 -04:00
Joseph Schorr
7c45aca405 Code review changes 2014-09-08 17:20:01 -04:00
Joseph Schorr
63628678b8 Instead of sending DB IDs, send "internal IDs" which are DB IDs hashed. This way, we can still calculate the ancestors without hitting the DB further, but without leaking the size of the images table 2014-09-08 15:02:26 -04:00
Joseph Schorr
3c20402b32 Add a common base email template, translate the emails over to using jinja and add emails when e-mail addresses and passwords are changed. 2014-09-05 19:57:33 -04:00
Jake Moshenko
64480fd4ed Merge remote-tracking branch 'origin/master' into yellowalert
Conflicts:
	data/migrations/versions/82297d834ad_add_us_west_location.py
	test/data/test.db
2014-09-05 11:30:30 -04:00
Jake Moshenko
3c57e612b3 Merge remote-tracking branch 'origin/zegooglesdosomething' 2014-09-04 20:10:16 -04:00
Joseph Schorr
987177fd7e Have require_fresh_login not apply if there is no password set for the user 2014-09-04 19:47:12 -04:00
Jake Moshenko
1a230f635a Use datetime.min instead of a fixed span for the last login default time. 2014-09-04 19:15:06 -04:00
Joseph Schorr
e028d4ae0a Merge master into branch 2014-09-04 18:08:18 -04:00
Joseph Schorr
1c2de35f28 Code review fixes 2014-09-04 17:54:51 -04:00
Joseph Schorr
e783df31e0 Add the concept of require_fresh_login to both the backend and frontend. Sensitive methods will now be marked with the annotation, which requires that the user has performed a login within 10 minutes or they are asked to do so in the UI before running the operation again. 2014-09-04 14:24:20 -04:00
Joseph Schorr
1e7e012b92 Add a requirement for the current password to change the user's password or email address 2014-09-03 15:41:25 -04:00
Jake Moshenko
2dcdd7ba5b Add exponential backoff of login attempts. 2014-09-02 15:27:05 -04:00
Joseph Schorr
3b72b26836 Merge branch 'master' into comewithmeifyouwanttowork 2014-08-28 20:50:13 -04:00
Joseph Schorr
ae92098b23 Add invite by email (WIP) 2014-08-28 20:49:11 -04:00
Joseph Schorr
7ca853adee Rename the method so it doesn't shadow the model method. 2014-08-28 18:53:04 -04:00
Joseph Schorr
6f1a4030b6 Add response schema validation (only when in TESTING mode) and add one schema. More will be added in a followup CL 2014-08-27 20:57:46 -04:00
Joseph Schorr
6ec89bb179 Add Slack notification support 2014-08-26 22:09:56 -04:00
Joseph Schorr
d76d4704a0 Add pagination to the notifications API and make the UI only show a maximum of 5 notifications (beyond that, it shows "5+"). 2014-08-26 15:19:39 -04:00
Joseph Schorr
a129aac94b Add ability to regenerate robot account credentials 2014-08-25 17:19:23 -04:00
Joseph Schorr
99d75bede7 Handle error cases better for external services 2014-08-25 15:30:29 -04:00
Joseph Schorr
09a1c4d2b5 Add test fix and make sure Quay ups the connection count in its container 2014-08-25 14:23:21 -04:00
Joseph Schorr
80435d9c0b Add support for docker search, now that auth is fixed 2014-08-22 19:41:22 -04:00
Joseph Schorr
d2880807b2 - Further fixes for license stuff
- Small fixes to ensure Quay works for Postgres
2014-08-21 19:21:20 -04:00
Joseph Schorr
4fd249589d Add scopes to many org admin methods and remove the internal_only on ones we can now expose 2014-08-19 19:21:41 -04:00
Joseph Schorr
53fb7f4136 Add documentation for all path parameters 2014-08-19 19:05:28 -04:00
Joseph Schorr
32ea1d194f Add support for the Hipchat room notification API 2014-08-19 17:40:36 -04:00
Joseph Schorr
35bd28a77e Add support for the Flowdock Team chat API: https://www.flowdock.com/api/push 2014-08-19 14:33:33 -04:00
Joseph Schorr
02d3b70013 Make sure to search teams as well when determining the robots which have access to a private repo 2014-08-18 19:19:01 -04:00
Joseph Schorr
43b6695f9c Get team invite confirmation working and fully tested 2014-08-18 17:24:00 -04:00
Joseph Schorr
1460879169 Change an ancestry error into a 404 2014-08-18 13:35:03 -04:00
Joseph Schorr
7d7cca39cc New team view interface 2014-08-15 20:51:31 -04:00
Joseph Schorr
56d7a3524d Work in progress: Require invite acceptance to join an org 2014-08-15 17:47:43 -04:00
Joseph Schorr
e7daca5d95 Add better messaging and UI around repos and images that are currently being pushed 2014-08-13 17:54:15 -04:00
Jake Moshenko
29f1b048a3 Add support for Google Cloud Storage. 2014-08-12 02:06:44 -04:00
Joseph Schorr
11176215e1 Commit new DB changes and make sure the metadata is always present in some form 2014-08-11 18:35:26 -04:00
Joseph Schorr
389c88a7c4 Update federated login to store metadata and have the UI pull the information from the metadata 2014-08-11 18:25:01 -04:00
Joseph Schorr
2597bcef3f Add support for login with Google. Note that this CL is not complete 2014-08-11 15:47:44 -04:00
Jake Moshenko
5d4a6fc279 Add support for GA at least for the initial page load. 2014-08-07 20:44:59 -04:00
Jake Moshenko
979f78f677 Stop clobbering the scope variable. 2014-08-06 18:51:04 -04:00
Joseph Schorr
e0bb94e439 Add path param description support 2014-08-06 17:47:32 -04:00
Joseph Schorr
05a1413153 Handle UI for dangerous scopes 2014-08-05 21:21:22 -04:00
Jake Moshenko
02e47ed572 Begin the work to allow robots and teams to be managed via API. 2014-08-05 20:53:00 -04:00
Joseph Schorr
7e8713171e - Change updated_tags into the expected dict, not a list
- Update the event code on both sides to expect the dict
- Add filter support to the string builder
2014-08-05 17:45:40 -04:00
Jake Moshenko
0372013f70 Merge remote-tracking branch 'origin/redalert'
Conflicts:
	app.py
2014-08-04 16:56:34 -04:00
Joseph Schorr
49801bc2c4 - Add web hook queue code back in. We'll remove it and turn it off after this CL goes to prod
- Make notification lookup always be by repo and its UUID, rather than the internal DB ID
- Add the init script for the notification worker
2014-07-31 13:30:54 -04:00
Joseph Schorr
b12d63ce9a Make sure to always return the same cache busting string on prod, so that reloads of the page can still use the same cached resources 2014-07-29 20:54:16 -04:00
Joseph Schorr
1c7d72914b The queue already adds 'notification' to the path 2014-07-29 15:19:05 -04:00
Joseph Schorr
a2f0f57414 - Small title fix
- Make sure sample event data uses the real event data generation code
2014-07-29 13:39:26 -04:00
Joseph Schorr
7de1dd7dc0 Merge branch 'master' into redalert 2014-07-28 18:35:39 -04:00
Joseph Schorr
32b2ecdfa6 Add ability to dismiss notifications 2014-07-28 18:23:46 -04:00
Joseph Schorr
34fc279092 Add e-mail authorization to the repository notification flow. Also validates the creation of the other notification methods. 2014-07-28 14:58:12 -04:00
Jake Moshenko
268c28649a The previous order of removing triggers and their push keys violated a DB constraint. 2014-07-25 13:46:22 -04:00
Joseph Schorr
54ee94754e - Add support for orgs in the entity search and the notification system
- Fix the titles/names of the different notification types
- Fix the styling of the options buttons on the notifications
2014-07-22 13:39:41 -04:00
Jake Moshenko
b39b847c98 Add messaging around required params for oauth. Style fixes. 2014-07-21 15:09:31 -04:00
Joseph Schorr
752efb9e0f Fix the spawn_notification to work in all cases and clean up some of the remaining code 2014-07-18 16:34:52 -04:00
Joseph Schorr
591cd020b8 Merge branch 'master' into redalert 2014-07-18 15:58:56 -04:00
Joseph Schorr
af31bde997 Add support for the remaining events to the frontend and the backend 2014-07-18 15:58:18 -04:00
Jake Moshenko
70a35ab421 Some uninitialized build triggers may not yet have a write token. 2014-07-18 15:05:39 -04:00
Jake Moshenko
8a2c88488a Filter tokens with an associated build trigger from the list API. Delete associated tokens when deleting a trigger. 2014-07-18 14:56:26 -04:00
Jake Moshenko
3d852aa9d3 tiny style fixes 2014-07-18 14:55:55 -04:00
Joseph Schorr
f7c154abb5 Get Quay notification support working in the notification methods 2014-07-18 14:12:20 -04:00
Joseph Schorr
df7b8d651c Fix bugs in the initial impl of the notification event and notification method libs. 2014-07-18 11:52:36 -04:00
Joseph Schorr
8d7493cb86 Convert over to notifications system. Note this is incomplete 2014-07-17 22:51:58 -04:00
Joseph Schorr
a45054bf2e Change tag_view to avoid a DB lookup and only return the tag's image ID. We map the ID in the frontend based on the image data returned 2014-07-17 15:16:22 -04:00
Joseph Schorr
de8e898ad0 Add UI for managing repo notifications 2014-07-17 13:32:39 -04:00
Joseph Schorr
a84fe0681a Start on data model changes and API changes for the new repository notification system 2014-07-16 16:30:47 -04:00
Joseph Schorr
8eacbfbce4 Password field may be optional from the Docker CLI 2014-07-14 21:24:38 -04:00
Joseph Schorr
b0c4f5b2f5 - Fix tests to not hit remote Redis endpoint
- Fix convert organization to allow admin email address, in addition to username
- Add test for the above
2014-07-08 18:19:13 -04:00
Jake Moshenko
c40f6abb7a Fix some bugs with resume support. 2014-07-07 18:19:52 -04:00
Jake Moshenko
f40b7dbc54 Merge remote-tracking branch 'origin/resume' 2014-07-07 18:09:10 -04:00
Joseph Schorr
af46d3d455 Remove path from get_supports_resumeable_download 2014-07-07 16:21:27 -04:00
Jake Moshenko
c338b7d621 Merge remote-tracking branch 'origin/touchdown'
Conflicts:
	static/css/quay.css
	static/js/controllers.js
	test/data/test.db
2014-07-07 15:33:51 -04:00
Joseph Schorr
e850d17e29 Handle potential NPE in the registry code 2014-07-03 17:18:14 -04:00
Joseph Schorr
0ac6312c8a Get resumable downloads working in a way that the Docker CLI will actually understand. Also rename the method to conform the the name used in the Docker source code. 2014-07-02 21:18:46 -04:00
Joseph Schorr
0d89fd7f26 Add code for resumable downloads from S3 2014-07-02 00:39:59 -04:00
Jake Moshenko
b3bf782035 Fix the diffs worker. 2014-06-30 13:51:42 -04:00
Jake Moshenko
684c26bc1a Populate image storage objects with locations everywhere. 2014-06-27 20:04:26 -04:00
Joseph Schorr
ee0d483efd Fix "Run Build Again" to send the tags to which we should push. 2014-06-26 19:55:16 -04:00
Joseph Schorr
76165b5d2b Add API and UI support for displaying image locations 2014-06-24 18:48:42 -04:00
Jake Moshenko
da12b940a9 Merge branch 'master' of ssh://bitbucket.org/yackob03/quay into carmensandiego 2014-06-23 11:26:14 -04:00
Joseph Schorr
46d1dc98ce Make absolutely sure to skip requests without a valid payload 2014-06-19 17:20:43 -04:00
Jake Moshenko
bf0e01fba5 Fix bugs with pushing, pulling, and deleting. 2014-06-17 16:37:48 -04:00
Jake Moshenko
bf98575feb Add the basics of geographic data distribution and get the tests to work. 2014-06-17 16:03:43 -04:00
Jake Moshenko
f405d575a3 Remove to code path to check image for size, always use the imagestorage. 2014-06-12 19:51:17 -04:00
Jake Moshenko
fb465fd66f Eradicate the s3 versions of the checksum and the uploading flag. 2014-06-12 19:27:43 -04:00
Jake Moshenko
22bb1dc8cc Use the old checksum header for compatibility with older clients. 2014-06-11 22:00:37 -04:00
Jake Moshenko
7a5605a568 Add an exact abort and use it to send the expected response for 409s. 2014-06-11 16:55:38 -04:00
Jake Moshenko
78c5aec5b9 Switch the checksums to use the registry computed value, remove all assumptions of namespaced paths for legacy storage, fix an upload race condition in the registry code. 2014-06-11 15:37:45 -04:00
Jake Moshenko
4b13ddc118 Fix the size calculation to prefer the shared version if both are available. 2014-06-10 15:34:32 -04:00
Joseph Schorr
738c4a86ff Check to make sure we can load the github user data 2014-06-04 16:12:31 -04:00
Joseph Schorr
c630d7e948 Merge branch 'master' into touchdown
Conflicts:
	static/js/app.js
	static/partials/organizations.html
	test/data/test.db
2014-06-03 13:22:26 -04:00
Jake Moshenko
0057ced98c Move GitHub build trigger behind a feature flag. 2014-05-30 18:28:18 -04:00
Jake Moshenko
d1f4fbdacc Split out the redis hostname for user events and build logs as a string config. Modularize the user events and fix all callers. 2014-05-30 14:25:29 -04:00
Jake Moshenko
8e6328a5f0 Merge branch 'driversed' of ssh://bitbucket.org/yackob03/quay into driversed 2014-05-29 11:24:44 -04:00
Jake Moshenko
0683f2657e Rename the email util to not conflict with a builtin library. 2014-05-28 18:22:48 -04:00
Joseph Schorr
69be86be97 Add extra seat check in the user API call and turn off user->org conversion when authentication is LDAP 2014-05-28 15:53:53 -04:00
Joseph Schorr
205362bc7b Add UI for handling the case when an enterprise has reached its maximum seat count 2014-05-28 15:22:36 -04:00
Jake Moshenko
decefbf168 Switch the seat count for the superuser API to the real value from the license. 2014-05-28 13:54:02 -04:00
Jake Moshenko
33b43b75c0 Eliminate a lot of the if cases in create_user by separating them out. Add a limit to the number of users which can be created based on the license. Add support for creating and loading licenses. 2014-05-28 13:51:52 -04:00
Joseph Schorr
81f235e5d6 Fix error when no token is returned by Github 2014-05-23 15:20:40 -04:00
Joseph Schorr
a9a8105fbc Add credit card expiration date to the billing info screen 2014-05-22 16:52:51 -04:00
Jake Moshenko
f6726bd0a4 Merge branch 'ldapper'
Conflicts:
	Dockerfile
	app.py
	data/database.py
	endpoints/index.py
	test/data/test.db
2014-05-22 12:13:41 -04:00
Jake Moshenko
d14798de1d Add a queue capacity reporter plugin to the queue. Move the queue definitions to app. Add a cloudwatch reporter to the dockerfile build queue. 2014-05-21 19:50:37 -04:00
Jake Moshenko
8c3448080c Merge remote-tracking branch 'origin/master' into touchdown
Conflicts:
	test/data/test.db
2014-05-21 14:43:57 -04:00
Joseph Schorr
62930aa9b5 Make sure we have a head_commit in the payload from Github 2014-05-16 15:45:13 -04:00
Jake Moshenko
8b5c781f84 Change the health check to ping the db and the redis build logs. 2014-05-13 18:53:42 -04:00
Jake Moshenko
11c6c5fa52 Merge remote-tracking branch 'origin/master' into ldapper
Conflicts:
	app.py
2014-05-13 16:55:02 -04:00
Jake Moshenko
2da8b4737e Fix the registry to work with unicode usernames in LDAP. 2014-05-13 15:22:31 -04:00
Jake Moshenko
5fdccfe3e6 Add an alembic migration for the full initial database with the data. Switch LDAP to using bind and creating a federated login entry. Add LDAP support to the registry and index endpoints. Add a username transliteration and suggestion mechanism. Switch the database and model to require a manual initialization call. 2014-05-13 12:17:26 -04:00
Joseph Schorr
08ccad7fe4 Add support for not using CDN-based resources. When USE_CDN = False, all CDN-based resources will instead be used from the local system. 2014-05-09 18:49:33 -04:00
Jake Moshenko
bcb993a914 Set up the build logs to use our fake build logs on test and local. 2014-05-09 18:45:11 -04:00
Jake Moshenko
027ada1f5c First stab at LDAP integration. 2014-05-09 17:39:43 -04:00
Jake Moshenko
580bb152fe Fix a typo in one of the abort errors. 2014-05-08 11:50:38 -04:00
Jake Moshenko
73a0cc791b Merge remote-tracking branch 'origin/master' into touchdown
Conflicts:
	static/js/app.js
2014-05-07 15:32:27 -04:00
Jake Moshenko
ef9fe871fc Move the upload flag to the database, and use the database stored image size rather than going to s3. 2014-05-02 16:59:46 -04:00
Jake Moshenko
21304a5678 We are not a standalone registry. 2014-05-02 14:52:03 -04:00
Jake Moshenko
1d8cbf1376 Merge remote-tracking branch 'origin/profilelog' 2014-05-02 13:44:51 -04:00
Joseph Schorr
fe2430f158 Remove test "True" that breaks permissions on the Github trigger 2014-05-01 21:35:07 -04:00
Joseph Schorr
4da49da730 Add general+trackable logging to every request and add fine grain logging to the index and registry for determining possible performance regressions 2014-05-01 21:19:52 -04:00
Joseph Schorr
c2ed1a9e52 Add support for skipping Dockerfile builds via the [skip build] or [build skip] message 2014-05-01 15:25:46 -04:00
Joseph Schorr
c244f367ba Start on tour UI and make some small changes to the overall Quay UI 2014-04-29 00:45:42 -04:00
Jake Moshenko
fe665118bb Add sentry exception monitoring. 2014-04-28 18:59:22 -04:00
Jake Moshenko
0331e88fa2 Fix a stupid error in the webhook code. 2014-04-28 12:47:48 -04:00
Joseph Schorr
8f66c39ff5 Use the customer information, not an existing subscription, to determine whether the button should say "Start Free Trial" or "Subscribe" 2014-04-23 01:17:34 -04:00
Joseph Schorr
a5c2fc7185 Add a display alert that shows when the trial period ends (if applicable). Also change the name of the Subscribe buttons to "Start Trial" when no existing subscription is found 2014-04-23 01:10:31 -04:00
jakedt
189903ffe9 Send an email automatically when a payment fails. 2014-04-22 13:56:34 -04:00
jakedt
9b3f61e410 Add robots.txt and update the sitemap. 2014-04-21 19:46:00 -04:00
Joseph Schorr
50d73a1d03 Merge branch 'master' of https://bitbucket.org/yackob03/quay 2014-04-17 16:53:55 -04:00
jakedt
a0cbead5aa Update the subscription change webhook to be more friendly and not send emails for payments. 2014-04-17 16:18:37 -04:00
Joseph Schorr
d8efb399b0 Merge branch 'tagyourit' 2014-04-17 14:20:28 -04:00
jakedt
56a19aa24e Merge remote-tracking branch 'origin/peon'
Conflicts:
	Dockerfile
2014-04-17 13:03:40 -04:00
Joseph Schorr
975de452d7 Merge branch 'master' of https://bitbucket.org/yackob03/quay 2014-04-16 22:48:09 -04:00
Joseph Schorr
a3bd2a065a Merge branch 'githublogin' 2014-04-16 22:48:03 -04:00
jakedt
893e5136a0 Make the local userfiles 404 if the file is not there. Remove some extraneous logging from the trigger. 2014-04-16 22:43:57 -04:00
jakedt
be728ceccb Fix the implementation of local userfiles and switch master_branch to default_branch to match the github api. 2014-04-16 22:35:47 -04:00
jakedt
31aab09be5 Sort the files before we send them to the template renderer. Remove a stack symlink if present to avoid interfering with the volume. 2014-04-16 14:23:22 -04:00
jakedt
d95c321e28 Respond to subscription change events so I can stop polling the stripe event list. 2014-04-15 17:00:32 -04:00
Joseph Schorr
ede8ed21f4 Enable DEBUGGING mode, which loads the individual script files rather than the minimized bundles created by grunt 2014-04-15 16:35:15 -04:00
jakedt
3f42d15335 Merge remote-tracking branch 'origin/master' into tagyourit
Conflicts:
	static/css/quay.css
	static/js/graphing.js
	static/partials/view-repo.html
	test/data/test.db
2014-04-15 15:58:30 -04:00
Joseph Schorr
5fa4733a2f - Enable minification for the frontend JS bundle
- Make sure we are pegged to version 3.3.3 of D3
2014-04-15 15:58:00 -04:00
Joseph Schorr
7aab6a9fdd Get basic grunt-ified CSS and JS working. Note that this currently uses the dist bundles for both prod and debug. 2014-04-15 15:51:32 -04:00
jakedt
dcc993a20e Fix the cache buster. 2014-04-15 14:27:00 -04:00
jakedt
0827e0fbac Merge remote-tracking branch 'origin/master' into ncc1701
Conflicts:
	endpoints/web.py
	static/directives/signup-form.html
	static/js/app.js
	static/js/controllers.js
	static/partials/landing.html
	static/partials/view-repo.html
	test/data/test.db
2014-04-14 19:37:22 -04:00
jakedt
52fdd60779 Merge remote-tracking branch 'origin/detective'
Conflicts:
	static/partials/repo-admin.html
2014-04-14 16:15:32 -04:00
jakedt
61a6db236f Finish the implementation of local userfiles. Strip charsets from mimetypes in the build worker. Add canonical name ordering to the build queue. Port all queues to the canonical naming version. 2014-04-11 18:34:47 -04:00
jakedt
14fba3ae7c Rename SERVER_NAME to SERVER_HOSTNAME to fix the subdomain routing problems. 2014-04-11 11:17:45 -04:00
jakedt
73f23f155c Merge branch 'ncc1701' of ssh://bitbucket.org/yackob03/quay into ncc1701 2014-04-10 15:20:26 -04:00
jakedt
d39f3cc5d4 Fix the tests and implement a fake stripe. 2014-04-10 15:20:16 -04:00
Joseph Schorr
0e320c964f - Add support for super users
- Add a super user API
- Add a super user interface
2014-04-10 00:26:55 -04:00
Joseph Schorr
3a3758654c - Move all quay.io domain references to config and add new methods for easy construction of URLs
- Make the Olark chat live behind a feature flag
2014-04-08 20:33:20 -04:00
Joseph Schorr
da859203f7 - Add a config whitelist
- Send the config values to the frontend
- Add a service class for exposing the config values
- Change the directives to inject both Features and Config
- Change directive users to make use of the new scope
2014-04-08 19:14:24 -04:00
jakedt
8e9faf6121 Toward running quay in a docker container. 2014-04-07 01:20:09 -04:00
Joseph Schorr
badf002e92 Turn off all references and API calls to github login if the feature is disabled 2014-04-06 00:50:30 -04:00
Joseph Schorr
19a20a6c94 Turn off all references and API calls to billing if the feature is disabled 2014-04-06 00:36:19 -04:00
Joseph Schorr
c374e8146a - Add code for placing the features information on the frontend
- Add a Features service for examining feature flags on the frontend
- Add a directive (quay-requires) that matches feature flags and, if any one does not match, removes the element from the DOM
- Add a directive (quay-show) that injects the features into the scope so that expressions of the form "Features.BILLING || something" work out of the box to show/hide the element
- Add a directive (quay-classes) that allows for setting of CSS classes on an element based on feature expression(s) such as {"!BILLING": "active"} (e.g. the BILLING flag is set to false, add the class "active".
2014-04-04 23:26:10 -04:00
Joseph Schorr
e685dced84 Fix receipt downloading by properly loading the permissions for the user/org 2014-04-04 03:01:48 -04:00
Joseph Schorr
4f4112b18d Add show_if and hide_if methods for routes and APIs, as well as proper comparison of feature values 2014-04-03 19:32:09 -04:00
jakedt
e87ffa20cf First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -04:00
Joseph Schorr
7c466dab7d - Add an analyze method on triggers that, when given trigger config, will attempt to analyze the trigger's Dockerfile and determine what pull credentials, if any, are needed and available
- Move the build trigger setup UI into its own directive (makes things cleaner)
- Fix a bug in the entitySearch directive around setting the current entity
- Change the build trigger setup UI to use the new analyze method and flow better
2014-04-02 23:33:58 -04:00
jakedt
204fecc1f9 Restore the cache buster. 2014-04-02 12:22:32 -04:00
Joseph Schorr
193824a196 Change Github Login to use its own application/client ID so that we don't accidentally lower valid trigger tokens 2014-04-01 22:49:18 -04:00
Joseph Schorr
9a79d1562a Change to store the pull robot on the repository build and only add the credentials to the queue item. This prevents the credentials from being exposed to the end user. Also fixes the restart build option 2014-04-01 21:49:06 -04:00
jakedt
d768b60a3c Merge remote-tracking branch 'origin/master' into tagyourit
Conflicts:
	test/data/test.db
2014-04-01 19:09:41 -04:00
jakedt
3525e383df Merge remote-tracking branch 'origin/master' into pullinprivate
Conflicts:
	test/data/test.db
2014-04-01 18:28:48 -04:00
Joseph Schorr
35f69b9f5b Add support for .tar.gz build packs in the build package viewer 2014-04-01 00:23:53 -04:00
jakedt
d67a1cddc2 Merge remote-tracking branch 'origin/master' into pullinprivate
Conflicts:
	workers/dockerfilebuild.py
2014-03-31 18:10:34 -04:00
jakedt
e7c20e1052 Add tarball support to the builder and pull github code as a tarball. 2014-03-31 15:40:24 -04:00
Joseph Schorr
6fd2440294 Handle empty GitHub repositories and do not 500 if the repository cannot be read 2014-03-28 15:32:56 -04:00
Joseph Schorr
abfc38f10a Really fix the build status 2014-03-28 14:42:29 -04:00
Joseph Schorr
795de4235d Change "cannot connect to redid" to be a raised exception 2014-03-28 14:20:06 -04:00
Joseph Schorr
2006917e03 Add support for pull credentials on builds and build triggers 2014-03-27 18:33:13 -04:00
jakedt
302bfb27ae Merge remote-tracking branch 'origin/master' into tagyourit
Conflicts:
	endpoints/api.py
	static/js/app.js
	static/partials/view-repo.html
	test/data/test.db
	test/specs.py
	test/test_api_usage.py
2014-03-26 19:42:29 -04:00
jakedt
cf14d5af05 Merge branch 'master' of ssh://bitbucket.org/yackob03/quay 2014-03-26 18:37:06 -04:00
jakedt
910fabe103 Disable that pesky browser cache in the ways that matter. 2014-03-26 18:36:59 -04:00
Joseph Schorr
1fc3c922a9 Properly handle a redirect URI mismatch 2014-03-26 16:45:11 -04:00
jakedt
95dcf58b90 Merge branch 'master' of ssh://bitbucket.org/yackob03/quay 2014-03-26 16:37:33 -04:00
jakedt
4a4ea52041 Use the URL scheme and use the host in the other discovery url. 2014-03-26 16:37:28 -04:00
Joseph Schorr
2c1a31f9d1 Merge branch 'master' of https://bitbucket.org/yackob03/quay 2014-03-26 16:32:39 -04:00
Joseph Schorr
85a1fdaea0 Add missing var in the index 2014-03-26 16:32:35 -04:00
jakedt
0a80f67355 Merge branch 'master' of ssh://bitbucket.org/yackob03/quay 2014-03-26 16:28:42 -04:00
jakedt
bb05daf090 Fix the discovery doc to point to the stack specific auth endpoint. 2014-03-26 16:28:35 -04:00
Joseph Schorr
6ae147de29 Handle oauth tokens in the index 2014-03-26 16:19:04 -04:00
jakedt
8fefe239b5 Fix public repository permissions checking. 2014-03-26 15:56:51 -04:00
jakedt
4d2e090bea Fix the problem with login on new triggers. 2014-03-26 15:52:24 -04:00
jakedt
4e80f95012 Format_date has to support missing dates. 2014-03-25 18:01:50 -04:00
jakedt
8538455cef Fix the user API to throw the nicer 401 that the FE can handle. 2014-03-25 17:58:19 -04:00
jakedt
f1a7f86780 Fix CSRF token generation. 2014-03-25 17:51:22 -04:00
jakedt
41cfadac23 Protect the search and repository list endpoints appropriately. Add more differentiating data to some need types. Remove the notification about password change from the user admin page. Select the dependent models for the visible repo list. 2014-03-25 17:26:45 -04:00
jakedt
5f98bf8dab Merge remote-tracking branch 'origin/master' into swaggerlikeus
Conflicts:
	endpoints/api.py
2014-03-25 15:50:03 -04:00
Joseph Schorr
4a66bd4af2 Fix the status view when it cannot be loaded 2014-03-25 15:48:12 -04:00
jakedt
f39793b3ac Check CSRF after processing the oauth token. 2014-03-25 15:37:58 -04:00
jakedt
219fbd6950 Make the CSRF checks mandatory. 2014-03-25 14:35:19 -04:00
jakedt
f060fd6ae0 Fix and unify CSRF support across web and API endpoints. 2014-03-25 14:32:26 -04:00
jakedt
0097daebc2 Formatting changes. 2014-03-25 14:32:02 -04:00
Joseph Schorr
16d3ddd8cc Nicely handle the case where we cannot connect to Redis 2014-03-25 13:29:06 -04:00
jakedt
b81e48cb41 Merge branch 'swaggerlikeus' of ssh://bitbucket.org/yackob03/quay into swaggerlikeus
Conflicts:
	test/data/test.db
2014-03-25 12:43:09 -04:00
jakedt
cbc40588cb Finally figure out what the data field is supposed to be for and use it to implement and fix 3LO. 2014-03-25 12:42:40 -04:00
Joseph Schorr
c82d1ffe98 Add ability for users to see their authorized applications and revoke the access 2014-03-24 20:57:02 -04:00
Joseph Schorr
e92cf37583 Add cancel button to the oauth authorization page, add the org icon to said page, and fix some other minor bugs 2014-03-24 18:30:22 -04:00
jakedt
283ce5e1c3 Make the new app management APIs internal and fix the schemas to work with swagger. 2014-03-24 18:16:46 -04:00
Joseph Schorr
f7c27f250b Add full application management API, UI and test cases 2014-03-20 15:46:13 -04:00
jakedt
a9c0e016f3 Add the ability to use an oauth token to interact with the index and registry. 2014-03-20 12:09:25 -04:00
jakedt
0992c8a47e Fix some permissions problems still around due to some usage of scopes as strings. 2014-03-19 18:21:58 -04:00
jakedt
3b7b12085d User scope objects everywhere. Switch scope objects to namedtuples. Pass the user when validating whether the user has authorized such scopes in the past. Make sure we calculate the scope string using all user scopes form all previously granted tokens. 2014-03-19 18:09:09 -04:00
jakedt
c93c62600d Merge remote-tracking branch 'origin/master' into swaggerlikeus
Conflicts:
	data/database.py
	endpoints/api.py
	endpoints/common.py
	templates/base.html
	test/data/test.db
	test/specs.py
2014-03-19 15:39:44 -04:00
jakedt
f2d0a2f479 Split out organization repo roles and org management roles. 2014-03-19 14:36:56 -04:00
jakedt
6fc369bed2 Change non logged in 403s to 401s. 2014-03-19 13:57:36 -04:00
jakedt
7bd4b9a71c Merge branch 'swaggerlikeus' of ssh://bitbucket.org/yackob03/quay into swaggerlikeus
Conflicts:
	endpoints/api/trigger.py
2014-03-19 12:13:07 -04:00
jakedt
6267275d6f Mark a whole slew of APIs as internal only. 2014-03-19 12:09:07 -04:00
Joseph Schorr
807fa68fe4 Fix the remainder of the API usage tests. Note that this still fails when the blueprint is registered again, so each subset of tests has to be run on its own 2014-03-18 20:32:37 -04:00
jakedt
19c7453f99 Merge branch 'swaggerlikeus' of ssh://bitbucket.org/yackob03/quay into swaggerlikeus 2014-03-18 19:21:53 -04:00
jakedt
64071b9e8e Add a user info scope and thread it through the code. Protect the org modification API. 2014-03-18 19:21:27 -04:00
Joseph Schorr
d7a59ef0c2 Add checks for invalid scopes in the auth approval process 2014-03-18 17:05:27 -04:00
Joseph Schorr
b0dcb5d7e3 Merge branch 'swaggerlikeus' of https://bitbucket.org/yackob03/quay into swaggerlikeus 2014-03-18 16:46:28 -04:00
Joseph Schorr
9ae4506a0d Add OAuth usage information the API logs, have it be displayed in the logs UI and start on the code to display application information when clicked. Note that this does not (yet) do anything with the information returned as we need to wait for the mainline merge of Angular 1.2.9 (which is in master) before I can continue on the display 2014-03-18 16:45:18 -04:00
jakedt
6f39e158d6 Eliminate all of the exceptions when running the tests. 2014-03-18 15:58:37 -04:00
jakedt
e1b704bdac We must check repository permissions before parsing args. 2014-03-18 14:45:14 -04:00
jakedt
7d163833bd Some small fixes in the API. 2014-03-18 14:22:14 -04:00
jakedt
3b3d71bfd7 Feed error messages through a cors wrapper so that people on other domains can see what's happening. 2014-03-17 16:57:35 -04:00
jakedt
4673f40dd2 Fix the org robot create response. 2014-03-17 15:26:16 -04:00
jakedt
bb2767ff16 Fix url_for for api endpoints. 2014-03-17 15:23:49 -04:00
jakedt
535947a06d Change the image changes to return a python block. 2014-03-17 15:10:08 -04:00
jakedt
5cc2bdbc71 Fix some errors. 2014-03-17 14:52:52 -04:00
jakedt
3542a520f5 Fix bugs, mostly related to date formatting. 2014-03-17 13:10:12 -04:00
jakedt
ddf5f2053c Convert old style jsonschema required params to new style. 2014-03-17 12:25:41 -04:00
jakedt
5bb4008880 Fix cookie auth to work with oauth token auth. Make sure user loading is truly deferred to save DB connections. 2014-03-17 12:01:13 -04:00
Joseph Schorr
e759066ae0 Change ApiService to use the new swagger-backed discovery and the new /v1/ API endpoints. Also changes all other /api/ calls (the few that are still manually invoked) 2014-03-14 23:40:41 -04:00
Joseph Schorr
767ab1085a Merge branch 'swaggerlikeus' of https://bitbucket.org/yackob03/quay into swaggerlikeus 2014-03-14 18:57:35 -04:00
Joseph Schorr
d469b41899 Add an oauth authorization page 2014-03-14 18:57:28 -04:00
jakedt
67353de179 Convert a current_user to get_authenticated_user in the repository api. 2014-03-14 18:41:14 -04:00
jakedt
092e236694 Write a flask-restful version of cache-control. Remove the comments to add back in post methods. 2014-03-14 18:39:31 -04:00
jakedt
60015f0ae0 Add internal API filtering. 2014-03-14 18:07:03 -04:00
jakedt
5ca594b641 Change related to quayUserRelated. 2014-03-14 17:42:19 -04:00
jakedt
76e9b9681f Re-order classes to dependencies are in place. 2014-03-14 17:37:57 -04:00
jakedt
83bc965556 Link the org api calls to their related user resources. 2014-03-14 17:35:52 -04:00
jakedt
4d551a079b Re-organize the imports for the api endpoints. 2014-03-14 16:11:31 -04:00
jakedt
dfdc3faa57 Port the remaining APIs and fix some locations. 2014-03-14 16:09:16 -04:00
jakedt
1bbe2283dc Port logs and robots. 2014-03-14 16:02:13 -04:00
jakedt
3c268de025 Port over the billing apis. 2014-03-14 15:35:20 -04:00
jakedt
a667714d3d Port permission prototypes and org members. 2014-03-14 14:51:18 -04:00
jakedt
e4e4f8c553 Migrate teams and orgs. 2014-03-14 14:20:51 -04:00
jakedt
ab60a10a93 Add some missing documentation. 2014-03-14 13:27:56 -04:00
jakedt
ae6bfb072d Fix some documentation. 2014-03-14 13:24:55 -04:00
jakedt
cd276773ff Port over tokens. 2014-03-14 13:24:01 -04:00
jakedt
3d4ece31f3 Port over images, permissions, and tags. 2014-03-14 13:06:58 -04:00
jakedt
21d0ec2012 Port triggers to new API. 2014-03-14 12:11:48 -04:00
jakedt
e475e9809d Port over webhooks, search, and builds. 2014-03-13 16:31:37 -04:00
jakedt
85eb585a85 Port most of the user related apis. 2014-03-13 15:19:49 -04:00
jakedt
0e3fe8f3b1 Port a few more repository methods to the new API interface. 2014-03-12 20:33:57 -04:00
Joseph Schorr
e5a461989f Add a check_repository_usage method which adds (or removes) a notification on the user/org when they go over their plan usage 2014-03-12 19:19:39 -04:00
Joseph Schorr
525ef8d14f Add support for targeting notifications to organizations and remove the password_required notification for new orbs 2014-03-12 19:00:24 -04:00
jakedt
e74eb3ee87 Add scope ordinality and translations. Process oauth tokens and limit scopes accordingly. 2014-03-12 16:31:37 -04:00
jakedt
25ceb90fc6 Add some sort of oauth. 2014-03-12 12:37:06 -04:00
Joseph Schorr
368a8da7db - Add data classes for notifications
- Add basic API for notifications
- Change the password required to be a notification
2014-03-12 00:49:03 -04:00
jakedt
220649e579 Use doc strings for resource and method docs. Tweak some docs. Switch to 100 length lines. 2014-03-11 15:20:03 -04:00
Joseph Schorr
e650da5278 Make sure a JSON error in build or trigger config never causes a crash 2014-03-11 14:52:20 -04:00
Joseph Schorr
c5fa12329c Update path matching regex to support dots 2014-03-11 14:42:53 -04:00
Joseph Schorr
e699739b23 Fix handling of repository names that match known endpoints (build, trigger, etc) and add tests to ensure it is fixed 2014-03-11 14:30:00 -04:00
jakedt
978d68f0e0 Holy black magic batman, move the query parameters to decorators and expose them through discovery. 2014-03-11 12:57:33 -04:00
jakedt
b3e0dfae48 More fully replicate the swagger API. 2014-03-10 23:54:55 -04:00
jakedt
de1a44f853 First attempt at using flask-restful and swagger api documentation. 2014-03-10 18:30:41 -04:00
Joseph Schorr
9ca41dec95 Add a 500 error page and make it automatically display if there is a 500 error as a result of an API call 2014-03-10 17:01:36 -04:00
Joseph Schorr
dbb234c76c Better upwell messaging for everyone and show the upsell for organization admins 2014-03-06 18:36:52 -05:00
jakedt
c561ce5a06 Properly log the exception to the trigger deactivation problem warning. 2014-03-06 14:48:46 -05:00
jakedt
f8a1535e78 Fix the trigger delete code and enable peewee autorollback. 2014-03-06 14:47:02 -05:00
Joseph Schorr
89d9bcd894 - Make sure to send the subdirectory when restarting a build
- Make sure to use the subdirectory to read the Dockerfile's location in a build package, and display the path
- Nicer UI for showing the trigger description in the build view
- Fix an NPE in the file change tree
2014-03-05 16:27:56 -05:00
jakedt
fde96c736a Fix a problem with initdb and add a limit to the builds API. 2014-03-05 15:50:32 -05:00
jakedt
5f0969778e Fix the status badge logic again. 2014-03-05 15:14:12 -05:00
jakedt
7a89b0872f Fix the tag logic. 2014-03-05 14:57:14 -05:00
jakedt
638dbb3d8d Cache the status tags and fix the tag for images that were pushed from a build. 2014-03-05 14:35:11 -05:00
jakedt
2af3d24557 Merge remote-tracking branch 'origin/taggedrustedbuilds' into rustedbuilds 2014-03-04 16:59:54 -05:00
jakedt
7add6679b6 Merge branch 'rustedbuilds' of ssh://bitbucket.org/yackob03/quay into rustedbuilds 2014-03-03 18:45:48 -05:00
jakedt
b5b3d6ce18 Add the resource key to the build view. 2014-03-03 18:45:40 -05:00
Joseph Schorr
3f806b10c2 Add support for build status tags, which link to the Quay.io repo 2014-02-28 16:23:36 -05:00
Joseph Schorr
20ad666308 Add ability to tag images from the UI, including moving existing tags to different images 2014-02-28 00:12:09 -05:00
Joseph Schorr
39eaca346d Add an icon for build triggers and properly handle build trigger activation errors 2014-02-26 18:43:16 -05:00
Joseph Schorr
eca525e18c This 404 is expected by Docker, so don't use the "normal" abort for it. 2014-02-26 16:03:00 -05:00
Joseph Schorr
206049dbf8 - Add a build now command to the trigger
- Have the trigger description use the master_branch in the config
2014-02-25 19:53:41 -05:00
jakedt
011490d36d Refactor a lot of the build create code out into a common method. Add an endpoint for manually starting triggers. 2014-02-25 19:39:43 -05:00
Joseph Schorr
a6128978cb Merge branch 'rustedbuilds' of https://bitbucket.org/yackob03/quay into rustedbuilds 2014-02-25 18:22:59 -05:00
Joseph Schorr
e687b4d2d4 Add logging descriptions for the new trigger logs 2014-02-25 18:22:55 -05:00
jakedt
c13f7cd9df Add the resource_key back to the repository build. 2014-02-25 18:22:02 -05:00
jakedt
b9580c1c29 Merge remote-tracking branch 'origin/master' into rustedbuilds 2014-02-25 17:19:15 -05:00
jakedt
9afd49e882 Leave ISEs as 400s, but log exceptions and have slightly improved error messages. 2014-02-25 17:19:02 -05:00
jakedt
de49ce151b Merge remote-tracking branch 'origin/master' into rustedbuilds 2014-02-25 17:00:38 -05:00
jakedt
fa4c925e4d Allow exception tracebacks to get logged to the log file. 2014-02-25 16:54:49 -05:00
jakedt
4b689a7a7c Fix the translation of old ids to new ids, again. 2014-02-25 16:31:52 -05:00
Joseph Schorr
61ca29de04 Move the auth context methods into their own file so that we don't have auth trying to import itself 2014-02-25 15:07:24 -05:00
Joseph Schorr
a120f6c64a Make sure all aborts have message information 2014-02-25 14:15:12 -05:00
jakedt
aa20a807bd Link up the build trigger when a build is created from a webhook. 2014-02-24 23:12:09 -05:00
jakedt
001c822d74 Merge branch 'rustedbuilds' of ssh://bitbucket.org/yackob03/quay into rustedbuilds 2014-02-24 22:58:03 -05:00
jakedt
b23a7ed130 Extract the top level zipball subdir from the zip file. 2014-02-24 22:57:58 -05:00
Joseph Schorr
ef02e769fb Merge branch 'rustedbuilds' of https://bitbucket.org/yackob03/quay into rustedbuilds 2014-02-24 20:38:57 -05:00
Joseph Schorr
d1fdc31549 - Add a dropdown-select directive and use it in the git trigger setup dialog both times
- Add a dropdown-select for the docker file folder
- Add an API method for listing the build source sub directories
2014-02-24 20:36:54 -05:00
jakedt
b094480164 Add code that will allow build triggers to be deactivated or deleted from their services. 2014-02-24 16:36:49 -05:00
jakedt
cbb1ab5e68 Merge remote-tracking branch 'origin/master' into rustedbuilds 2014-02-24 16:11:33 -05:00
jakedt
13dea98499 Prepare the build worker to support multiple tags and subdirectories. Change the build database config to accept a job config object instead of breaking out the parameters into independent blocks. 2014-02-24 16:11:23 -05:00
jakedt
4b0f4c0a7b Handle the case of empty repositories in the trigger. 2014-02-24 14:12:54 -05:00
jakedt
d861f9b646 Add some code for finding Dockerfiles in the repository. 2014-02-24 13:56:21 -05:00
jakedt
86e93a2c0f Write triggers are successfully installing on GitHub, noice! 2014-02-21 17:09:56 -05:00
jakedt
b3fe3a32e4 Fix logins for access tokens. 2014-02-21 16:07:08 -05:00
jakedt
a6400171b3 First stab at implementing token.activate. 2014-02-21 16:02:31 -05:00
jakedt
d5304f7db0 Merge remote-tracking branch 'origin/master' into rustedbuilds
Conflicts:
	data/database.py
	endpoints/api.py
	endpoints/common.py
	test/data/test.db
2014-02-21 14:52:40 -05:00
jakedt
f339160ab9 Fix for mapping translations for existing images. 2014-02-21 08:00:47 -05:00
jakedt
a63a49caa1 Fix up the shared base images stuff. 2014-02-20 22:26:10 -05:00
Joseph Schorr
5519d93a64 Get UI for activating github build triggers in place and working. Note that the actual server-side activation is still not done (but the proper method is invoked) 2014-02-20 18:57:49 -05:00
jakedt
05dd00d495 Make our registry respond with their silly response message that will make login work without saying account created every time. 2014-02-20 14:49:34 -05:00
jakedt
9e426816a5 Pass trigger information on build status. Set up a trigger for the sample building repository. Allow to list the builds started from a trigger. Protect the callback with the proper auth for creating a trigger on a repo. 2014-02-19 16:08:33 -05:00
jakedt
f4642be11a Merge remote-tracking branch 'origin/allyourbaseimage'
Conflicts:
	test/data/test.db
	test/test_api_usage.py
2014-02-18 19:15:14 -05:00
jakedt
f60f9eb62a Properly connect the github push webhook with the build worker. Still need to resolve the archive format. 2014-02-18 18:09:14 -05:00
jakedt
ed38bcdafc Merge remote-tracking branch 'origin/master' into rustedbuilds
Conflicts:
	test/data/test.db
2014-02-18 16:13:34 -05:00
jakedt
b5d4919364 Split out callbacks into their own blueprint. Add build trigger DB information and connect it with some APIs. Stub out the UI to allow for generation of triggers. Split out the triggers into a plugin-ish architecture for easily adding new triggers. 2014-02-18 15:50:15 -05:00
Joseph Schorr
bc0d51656a Add ability to see a build's build pack, including browsing and downloading of the contents if it is a zip 2014-02-17 17:28:20 -05:00
jakedt
fc4983ed8b Merge remote-tracking branch 'origin/master' into rustedbuilds 2014-02-17 16:40:28 -05:00
jakedt
46de02a9ec Merge remote-tracking branch 'origin/master' into allyourbaseimage 2014-02-17 15:18:01 -05:00
jakedt
369417c3ad Fix the test for where extended image properties should come from. Fix the delete tag dialog to specify that the repo will be gc'ed after tag deletion. 2014-02-17 14:52:46 -05:00
jakedt
e7064f1191 Fix the tests and the one bug that it highlighted. 2014-02-16 18:59:24 -05:00
jakedt
b619356907 Get the base image stuff working. Checkpoint before fixing the tests. 2014-02-16 17:38:47 -05:00
Joseph Schorr
55d846061e Add ability to re-run a dockerfile build 2014-02-14 18:37:06 -05:00
jakedt
8135e0266e Merge branch 'master' into tutorial
Conflicts:
	static/directives/header-bar.html
2014-02-13 16:54:02 -05:00
jakedt
4d8ae230dc Disable retries on builds. 2014-02-13 15:54:47 -05:00
yackob03
ade20952e2 Merge branch 'master' into tutorial
Conflicts:
	config.py
	static/js/app.js
	test/data/test.db
2014-02-13 14:35:20 -05:00
yackob03
8f6cdabde3 Merge branch 'bobthe'
Conflicts:
	test/data/test.db
2014-02-13 12:47:59 -05:00
yackob03
b920a0cb1f Really try to emulate the logs format with the test logs. Switch to a simplified flat logs format. 2014-02-12 18:58:40 -05:00
yackob03
85694dd110 Add a build display name, set it from the etag reported by s3 for file uploads. 2014-02-12 13:52:12 -05:00
yackob03
6b1fcefc26 Check in progress on github connection, this will not work. 2014-02-11 13:53:44 -05:00
yackob03
7f89a5b7f0 Add the start time to the repository build object and APIs. 2014-02-11 12:25:38 -05:00
yackob03
6fd343741b Change to the new paging format with the commands available at the top. 2014-02-10 19:12:43 -05:00
yackob03
dee6088b90 Update the test logs generate to generate command logs. 2014-02-10 15:10:53 -05:00
Joseph Schorr
98e57b9d2b Merge branch 'master' into tutorial
Conflicts:
	endpoints/index.py
	static/css/quay.css
	static/js/app.js
	static/js/controllers.js
	test/data/test.db
2014-02-06 21:23:27 -05:00
Joseph Schorr
fa1bf94af1 Get the basic tutorial working completely, including reacting to server-side events 2014-02-06 20:58:26 -05:00
yackob03
bd47b9adf4 Add an about page. Change the terms in the footer. Add colors to the icons for the contact options. Update the sitemap. Remove empty controllers. 2014-02-06 19:20:19 -05:00
yackob03
7d593b1078 Switch the delete tag response code to match the registry spect. 2014-02-06 17:33:50 -05:00
yackob03
f5fff3657c Merge remote-tracking branch 'origin/unittesting' 2014-02-06 14:16:34 -05:00
yackob03
ef68982728 Garbage collect repositories on push and on tag deletion. 2014-02-06 14:13:35 -05:00
Joseph Schorr
b7afc83204 Merge branch 'bobthe' into tutorial 2014-02-06 13:37:41 -05:00
Joseph Schorr
c2fb1e5d78 Checkin start on real-time stuff so we can merge the bob the branch 2014-02-06 13:36:32 -05:00
Joseph Schorr
dbed1300ad Start on work towards the tutorial. Note that this code is BROKEN 2014-02-05 21:00:04 -05:00
yackob03
df389e81c7 Fix up the test endpoints with better fake data. Install them at a known location. Update the building test repository to point to the new fakes. 2014-02-05 20:01:23 -05:00
yackob03
44fe17754a Fix the API discovery method to not rely on globals(). 2014-02-05 20:00:18 -05:00
yackob03
67e0736fc6 Separate out the dockerfile build stuff to a separate class. Add a dependency on docker-py master. 2014-02-05 11:07:54 -05:00
yackob03
5270066d6d Switch to the redis backed build logs and status. 2014-02-03 19:08:37 -05:00
Joseph Schorr
08160afdde Finish API endpoint unit tests 2014-02-03 18:18:33 -05:00
Joseph Schorr
36d37e839b Continue on API unit tests: Now 50% (or so) coverage 2014-01-31 18:54:31 -05:00
Joseph Schorr
8fede11620 Fix broken API routes 2014-01-31 17:54:56 -05:00
Joseph Schorr
05b33dced4 Continue on API unit tests 2014-01-31 17:54:01 -05:00
Joseph Schorr
900ccd4c47 Start on unit tests for the API endpoint 2014-01-31 16:19:29 -05:00
yackob03
31ff854031 Fix the permissions for the build status tests. Fix a problem with logging the csrf token information when the user is anonymous. 2014-01-30 19:36:21 -05:00
yackob03
f840592b6e Merge branch 'master' of bitbucket.org:yackob03/quay 2014-01-30 19:07:22 -05:00
yackob03
fff5da6354 Fix the response codes for errors. 2014-01-30 19:06:10 -05:00
Joseph Schorr
6d412c726b Change the image 404 to a flask_abort to avoid logging it 2014-01-30 17:44:12 -05:00
yackob03
2ddbad3d39 url_for must reference the blueprint name now. 2014-01-30 17:23:14 -05:00
yackob03
96a97f667c Merge remote-tracking branch 'origin/better-error' 2014-01-30 13:44:33 -05:00
yackob03
05febb1a0c Switch the CSRF token to logging only to test for a little while in prod. 2014-01-30 13:42:25 -05:00
Joseph Schorr
3dc3af9eb2 The CLI can be… odd… when handling errors. Make them nicer for the CLI 2014-01-29 14:08:14 -05:00
Joseph Schorr
2b134158f5 Add issue URLs to most errors. The corresponding issue pages will be checked into the public docs repo 2014-01-28 18:29:45 -05:00
Joseph Schorr
96e15d285d Public building repositories should allow users to see the build status 2014-01-27 13:55:40 -05:00
yackob03
f585430399 Make abort return a json block, which is apparently what the client expects. Remove unused imports. Fix line length and kwarg problems. 2014-01-24 17:00:42 -05:00
Joseph Schorr
3b62d883f4 Add missing make_response 2014-01-24 15:20:46 -05:00
Joseph Schorr
30a26d099f Have the index use the same abort method 2014-01-24 15:01:40 -05:00
Joseph Schorr
aa5f669e69 Add the request args 2014-01-24 14:25:41 -05:00
Joseph Schorr
98109a28cd Better error messages when using the API, index and registry 2014-01-24 14:12:04 -05:00
Joseph Schorr
335733ad68 Fix routes for prototype endpoints 2014-01-23 14:55:11 -05:00
yackob03
845985c859 Merge branch 'security'
Conflicts:
	endpoints/api.py
	endpoints/web.py
2014-01-23 14:51:43 -05:00
Joseph Schorr
bd4c8c794d Merge branch 'umask' of https://bitbucket.org/yackob03/quay into umask 2014-01-21 18:35:02 -05:00
Joseph Schorr
3da5a77e33 Add support for org-wide default permissions 2014-01-21 18:34:54 -05:00
yackob03
648128cfaa Return true for robots in an org, not null. 2014-01-21 18:02:24 -05:00
yackob03
525b63b83a Fix robots being reported outside of org. 2014-01-21 18:00:23 -05:00
yackob03
15dfd887d0 Fix the user view in the prototype. 2014-01-21 17:43:47 -05:00
yackob03
7ceb249858 Add is_org_member to the prototype_view. Fix some line length problems. Fix a bug with using uuid objects as strings. 2014-01-21 17:32:49 -05:00
Joseph Schorr
3864fc3e88 Add logs support for the new default permissions model 2014-01-21 17:04:00 -05:00
Joseph Schorr
74df6b1df7 Streamline and cleanup the entity-reference so it can be used everywhere in a simple fashion. Also changes the entity-search to use the reference as its icon source when in persistent mode 2014-01-21 16:23:00 -05:00
Joseph Schorr
ca934ac162 Get create permission working 2014-01-21 15:09:47 -05:00
Joseph Schorr
e17c3590a7 - Add model functions for working with prototypes
- Add API calls for working with prototypes
- Get UI for prototypes working (minus add)
2014-01-21 14:18:20 -05:00
Joseph Schorr
cbf80281ba Add ability to change an organization’s email address 2014-01-20 16:12:23 -05:00
Joseph Schorr
f0add0e6cf Fix return values on confirm code 2014-01-17 17:23:52 -05:00
Joseph Schorr
c738113ca4 Handle duplicate emails on confirmation and make the confirmation error page nicer 2014-01-17 17:20:51 -05:00
Joseph Schorr
a363ada41c Add ability to view and change an account’s email address 2014-01-17 17:04:05 -05:00
Joseph Schorr
e5f6a68248 Allow for email address-based login 2014-01-16 16:14:38 -05:00
Joseph Schorr
9d26c79db0 Better messaging in create repo 2014-01-15 19:15:38 -05:00
yackob03
82c4c8a28b Merge branch 'master' into contact
Conflicts:
	static/js/controllers.js
	templates/base.html
2014-01-15 14:32:51 -05:00
yackob03
b6d4459080 Complete the login with GitHub functionality. 2014-01-15 13:55:57 -05:00
yackob03
f311885e2a Underpinnings of the ability to connect a GitHub account to an existing Quay account. 2014-01-14 15:23:44 -05:00
yackob03
c72cae954b Expose the command through the API for images. 2014-01-14 12:18:23 -05:00
yackob03
97d179cafb Merge branch 'master' of ssh://bitbucket.org/yackob03/quay 2014-01-13 16:33:04 -05:00
yackob03
e23c750bfb Harvest commands from the Docker json information and add to the database. 2014-01-13 16:32:51 -05:00
Joseph Schorr
58b3ce2647 Add page support to the public repo list 2014-01-13 14:49:05 -05:00
yackob03
1f8a82eefe Make it so that our error responses to login attempts are legible to the user. 2014-01-10 13:11:41 -05:00
yackob03
518cd1be85 Actually delete the image data when deleting the tag. 2014-01-09 17:13:26 -05:00
yackob03
4234ceabe6 Merge remote-tracking branch 'origin/spartan'
Conflicts:
	test/data/test.db
2014-01-08 17:04:40 -05:00
Joseph Schorr
9da93c7caf Add frontend and API support for deleting tags. Model support is needed. 2014-01-06 15:20:58 -05:00
yackob03
d52d913276 Update the test endpoint to reflect the new build status. 2014-01-06 13:10:22 -05:00
Joseph Schorr
e7904f0a9e - Fix image size saving to occur before the return of the response
- Make the image size say ‘Unknown’ if it is not known
2014-01-03 16:42:38 -05:00
Joseph Schorr
0a63690e25 Add code for saving and displaying the size of images 2014-01-03 16:32:00 -05:00
yackob03
8e4bbdf1dd Add no-cache as a response header. 2014-01-02 18:01:34 -05:00
yackob03
ee80f43375 Make that change which allows for sparse pushes. 2014-01-02 17:39:38 -05:00
yackob03
96fdae4f0d Merge branch 'master' into fix_build 2014-01-02 14:33:23 -05:00
yackob03
06e03b1260 Make the data block returned by the server mirror that of the build server. Make the UI respond to the new status format for pushing. 2014-01-02 14:13:16 -05:00
yackob03
39fa982ef2 Add some logging to the registry for failure cases. 2013-12-31 16:22:27 -05:00
Joseph Schorr
310c98df50 Move each flask module into a Blueprint and have CSRF protection only on the API blueprint 2013-12-30 17:05:27 -05:00
Joseph Schorr
b598c7ec85 Style fixes 2013-12-28 19:56:23 -05:00
Joseph Schorr
21ac1c9210 Add CSRF protection to every API call 2013-12-28 14:07:44 -05:00
Joseph Schorr
2e3be90054 Make sure Quay cannot be shown in frames 2013-12-28 13:28:52 -05:00
yackob03
6fb6eb64e1 Fix the imports when separating out the new common.py file. 2013-12-27 18:01:44 -05:00
Joseph Schorr
3d899b9f95 Embed the discovery information directly into the page 2013-12-27 17:19:14 -05:00
Joseph Schorr
56bb46ffb2 - Make the discovery information be preloaded via a bootstrap.js file before angular runs
- Have ApiService generate all the api methods specified by the API discovery information
- Change all call sites (except for a select few when it does not make sense) to use ApiService
2013-12-26 17:45:16 -05:00
Joseph Schorr
1904e6d0c8 Change to nicer API method names and add the internal_api_call decorator in prep for the automatic discovery mechanism 2013-12-24 21:56:03 -05:00
yackob03
445145f9b9 Merge branch 'restructure' 2013-12-24 14:24:24 -05:00
yackob03
3950904fb3 Prevent a user from subscribing to a deprecated plan through the API. 2013-12-23 14:50:01 -05:00
Joseph Schorr
c20e7dbcf7 - Add some more analytics events
- Enable business features for personal users on business plans
- Fix a bug in the credit card image view
2013-12-20 22:38:53 -05:00