Jake Moshenko
328db8b660
Split the app into separate backends, which can use different worker types and different timeouts.
2014-10-14 13:58:08 -04:00
Jake Moshenko
fe59ad4fb5
Rectify our prod database, previous migrations, and database definition files.
2014-10-07 16:03:57 -04:00
Joseph Schorr
f4daa5e97b
- Update the migrations tool to verify migrations work up and down for both MySQL and PostgresSQL.
...
- Add migrations for the squashed image tables and for backfilling the uncompressed sizes
- Make sure gzip stream uses a max length when determining the uncompressed size
2014-10-07 15:29:56 -04:00
Joseph Schorr
f38ce51943
Merge master into laffa
2014-10-07 14:03:17 -04:00
Jake Moshenko
4ad592e7ce
Add an index to the image storage uuid to improve performance.
2014-10-06 18:44:37 -04:00
Jake Moshenko
fbc7ee3bce
Phase 3 of the namespace migration, remove write references to the namespace string column.
2014-09-29 15:44:25 -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
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
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
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