Commit graph

255 commits

Author SHA1 Message Date
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
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
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
Jake Moshenko
efb66f7c1e Select the random row function based on DB driver. 2014-09-15 15:58:56 -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
451e034ca1 Archived logs commit 1. Squash me. 2014-09-08 16:43:17 -04:00
Joseph Schorr
e028d4ae0a Merge master into branch 2014-09-04 18:08:18 -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
d2880807b2 - Further fixes for license stuff
- Small fixes to ensure Quay works for Postgres
2014-08-21 19:21:20 -04:00
Joseph Schorr
43b6695f9c Get team invite confirmation working and fully tested 2014-08-18 17:24:00 -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
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
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
Joseph Schorr
8d7493cb86 Convert over to notifications system. Note this is incomplete 2014-07-17 22:51:58 -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
Jake Moshenko
5645b6da32 Add support for read slave databases. 2014-07-02 19:10:24 -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
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
0ba4201020 Add a module which will create notifications for all users when the license is at its expiration period, and terminate the process when the license expires. 2014-05-29 11:24:10 -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
e1a5a3e543 Temporarily remove the db pool until we can figure out why they are running out of connections. 2014-05-19 17:14:23 -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
Jake Moshenko
feb7ad8dd1 Use the pooled mysql database. 2014-05-07 12:37:45 -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
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
8fac0474b5 Get staging to run under docker on an EC2 host. 2014-04-10 18:30:09 -04:00
jakedt
4f3fa34206 Remove test field from the database definition. 2014-04-09 19:13:46 -04:00
jakedt
fc7756a3c2 Add alembic plumbing for database schema migrations. 2014-04-09 19:11:33 -04:00
jakedt
265fa5070a Fix support for multiple stack configurations and move most secrets into the quay-config project. 2014-04-07 16:59:22 -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
Joseph Schorr
2006917e03 Add support for pull credentials on builds and build triggers 2014-03-27 18:33:13 -04:00
jakedt
afb3a67b7b Switch the data to a textfield for authorization codes. 2014-03-25 16:06:34 -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
f7c27f250b Add full application management API, UI and test cases 2014-03-20 15:46:13 -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
Joseph Schorr
d469b41899 Add an oauth authorization page 2014-03-14 18:57:28 -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
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
Joseph Schorr
3f806b10c2 Add support for build status tags, which link to the Quay.io repo 2014-02-28 16:23:36 -05:00
jakedt
c13f7cd9df Add the resource_key back to the repository build. 2014-02-25 18:22:02 -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
86e93a2c0f Write triggers are successfully installing on GitHub, noice! 2014-02-21 17:09:56 -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
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
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
jakedt
b619356907 Get the base image stuff working. Checkpoint before fixing the tests. 2014-02-16 17:38:47 -05:00
jakedt
5742e6ea4e First set of changes toward shared base images. 2014-02-14 16:06:30 -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
7f89a5b7f0 Add the start time to the repository build object and APIs. 2014-02-11 12:25:38 -05:00
yackob03
5270066d6d Switch to the redis backed build logs and status. 2014-02-03 19:08:37 -05:00
Joseph Schorr
0833c88065 Make testing much faster by using a save point, rather than recreating the database every test 2014-01-30 20:57:40 -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
yackob03
330051f7d9 First stab at applying prototypes. 2014-01-20 19:05:26 -05:00
yackob03
3f67ff77a4 Add the permission proto table to the database. 2014-01-20 17:39:29 -05:00
yackob03
b1b315d86c Merge branch 'master' into umask 2014-01-20 17:35:05 -05:00
yackob03
f612f5c290 Add a permissiondefault data type. 2014-01-17 17:28:21 -05:00
Joseph Schorr
bd5ebe070b Remove unique-ness constraint 2014-01-17 17:09:31 -05:00
Joseph Schorr
a363ada41c Add ability to view and change an account’s email address 2014-01-17 17:04:05 -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
0a63690e25 Add code for saving and displaying the size of images 2014-01-03 16:32:00 -05:00
yackob03
dc3dc525e1 Style fixes. 2013-12-02 18:15:59 -05:00
Joseph Schorr
b77dabd586 Move log descriptions into the client side 2013-11-29 00:04:50 -05:00
Joseph Schorr
cca5daf097 Add support for full logging of all actions in Quay, and the ability to view and filter these logs in the org’s admin view 2013-11-27 02:29:31 -05:00
yackob03
026ed7ffb4 Start fleshing out support for robots. 2013-11-20 16:13:03 -05:00
yackob03
ecc5f8fba7 Wire up webhooks to the UI. 2013-11-15 17:45:37 -05:00
yackob03
7ae78e5370 Merge branch 'master' of ssh://bitbucket.org/yackob03/quay into webhooks
Conflicts:
	endpoints/api.py
	test/data/test.db
2013-11-15 16:48:55 -05:00
yackob03
c1ea6263e1 Flesh out the webworkers a bit. 2013-11-15 16:45:02 -05:00
yackob03
f07690956d Add a fixed number of retries to each item that gets put in the work queue.: 2013-11-15 15:49:26 -05:00
Joseph Schorr
457b619647 Add receipt/invoice email support and option to Quay 2013-11-15 14:42:31 -05:00
yackob03
db59b5bf9c Add some tests to verify we're not leaking anything to completely public users (we're not) 2013-11-06 17:09:22 -05:00
yackob03
ac71822352 Add a description field to teams. 2013-11-04 16:57:20 -05:00
yackob03
dd77ebd64f Next batch of backend permissions for orgs. 2013-11-04 15:42:08 -05:00
yackob03
4c0f987af3 Flesh out some of the organization methods and fix the models. 2013-11-01 19:34:17 -04:00
yackob03
621f89f826 Prepare the underlying data model for organizations. 2013-10-31 16:46:04 -04:00
yackob03
78d2d6cad0 Add a test endpoint that allows us to manually create builds. Add access tokens to the build data. 2013-10-25 18:17:43 -04:00
yackob03
ffc33e454c Fixes and refinements to the dockerfile build system. 2013-10-25 15:13:11 -04:00
yackob03
9b9a29c310 Flesh out the create API and wire everything up together. Next up, testing. 2013-10-25 01:14:38 -04:00
yackob03
847e91b696 Add the first part of the build worker that runs on quay. 2013-10-24 16:37:03 -04:00
yackob03
decb324411 Fix a typo on the base model for the queue. 2013-10-18 14:30:49 -04:00
yackob03
93b856bdb3 First few changes for the image diffs feature. 2013-10-17 18:25:19 -04:00
yackob03
283f9b81ae First stab at token auth. The UI could use a little bit of polishing. 2013-10-16 14:24:10 -04:00
yackob03
959016a6eb Remove unnecessary calls to the database for user and permission metadata. 2013-10-15 14:48:49 -04:00
yackob03
3d89227752 First iteration of sign-in with gihub. 2013-10-09 23:00:34 -04:00
yackob03
39018e72f1 Open and close the db connection at the beginning and end of each request. 2013-10-02 12:43:45 -04:00
yackob03
7bd18c1bab Checkpointing stripe work. 2013-10-02 00:48:03 -04:00
yackob03
96896b9067 Rename Image.image_id to Image.docker_image_id to reduce confusion. 2013-10-01 14:14:39 -04:00
yackob03
891f992bf2 Allow for anonymous access tokens for public repositories. 2013-10-01 01:18:05 -04:00
yackob03
25c4054c19 Long description fields should have been text rather than blob. 2013-09-30 23:22:52 -04:00
yackob03
84adf680b9 Switch the registry and index to use real s3 and rds. 2013-09-30 19:10:27 -04:00
yackob03
ea6df2b725 Add image ancestry and update the test db accordingly. 2013-09-30 15:30:00 -04:00
yackob03
d680a9d173 Create indices that we will probably need. 2013-09-27 23:33:59 -04:00
yackob03
32581c0621 Handle the confirmation codes to validate user emails. 2013-09-27 19:55:04 -04:00
yackob03
99341f7d53 Send a confirmation email when an account is created. Links don't do anything yet. 2013-09-27 19:29:01 -04:00
yackob03
23cbcb2979 Make images belong to one repository only. Add a description field to the repository. Fix a bug with access tokens. Fix an embarrasing bug with multiple select criteria in peewee. Update the test db. 2013-09-26 15:58:11 -04:00
yackob03
5151ea4412 Update the model and test db to fix tag support. 2013-09-25 17:46:42 -04:00
yackob03
08446ef59e Fix some stuff with logins and permissions, add tags to the mode. 2013-09-25 16:46:28 -04:00
yackob03
ee5ea51532 Refactor the code into modules, it was getting unweildy. 2013-09-25 12:45:12 -04:00
Renamed from database.py (Browse further)