Commit graph

374 commits

Author SHA1 Message Date
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
22cc7a85d4 Add exp_month and exp_year to the fake card to fix the tests. 2014-05-28 14:06:37 -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
Jake Moshenko
0b6552d6cc Fix the metrics so they are usable for scaling the workers down and up. Switch all datetimes which touch the database from now to utcnow. Fix the worker Dockerfile. 2014-05-23 14:16:26 -04:00
Jake Moshenko
f4c488f9b6 Fix the queue query for old jobs which won't run. 2014-05-22 13:50:06 -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
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
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
628d09afe0 Remove the passwd attr ldap config. 2014-05-13 15:52:20 -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
f049f738da Run the db migrations on container start unless we're running against Sqlite. 2014-05-13 15:20:17 -04:00
Jake Moshenko
553ef36e9b Fix a remaining direct usage of transaction factory in the data model. 2014-05-13 15:17:16 -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
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
feb7ad8dd1 Use the pooled mysql database. 2014-05-07 12:37:45 -04:00
Jake Moshenko
8a3af93b8c Improve the builder response to being terminated or dying. 2014-05-06 18:46:19 -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
44e514f49f Fix the test stripe to suppor trial properties. 2014-04-25 14:29:08 -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
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
4b8217d4ad Add config to allow for setting the queue names at runtime. Fix a bug in the data model. 2014-04-11 19:23:57 -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
8fac0474b5 Get staging to run under docker on an EC2 host. 2014-04-10 18:30:09 -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
bdf2b02c1a Merge branch 'ncc1701' of https://bitbucket.org/yackob03/quay into ncc1701 2014-04-10 00:27:51 -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
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
Joseph Schorr
0e54b0501c Return the reason a username validation failed and add tests to verify we are sending the reason to client 2014-04-07 20:37:02 -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
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
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
ca1970a2f4 Use the real registry endpoint in the login command. 2014-04-01 19:00:11 -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
jakedt
126363dce9 Use our patched version of docker-py with build credentials patched in. Fix the hostname in the build credentials block to be variable. 2014-04-01 11:38:17 -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
00ac3fb639 Merge branch 'master' of ssh://bitbucket.org/yackob03/quay 2014-03-28 17:54:07 -04:00
jakedt
fd941ed3a4 Strip tzinfo data from datetimes to make them compatible with peewee on sqlite. 2014-03-28 17:52:47 -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
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
afb3a67b7b Switch the data to a textfield for authorization codes. 2014-03-25 16:06:34 -04:00
jakedt
5f98bf8dab Merge remote-tracking branch 'origin/master' into swaggerlikeus
Conflicts:
	endpoints/api.py
2014-03-25 15:50:03 -04:00
jakedt
669ec9c382 Change the token expiration time to 10 years. 2014-03-25 15:38:16 -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
Joseph Schorr
f7c27f250b Add full application management API, UI and test cases 2014-03-20 15:46:13 -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
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
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
e74eb3ee87 Add scope ordinality and translations. Process oauth tokens and limit scopes accordingly. 2014-03-12 16:31:37 -04:00
Joseph Schorr
578add3b9e Finish basic notifications system and verify it works for the "password_required" notification. 2014-03-12 16:05:32 -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
bb413126ec Fix list_trigger_builds. 2014-03-06 15:04:59 -05:00
jakedt
fdccba9d8e Reverse the order of the builds from the API. 2014-03-05 16:17:01 -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
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
de49ce151b Merge remote-tracking branch 'origin/master' into rustedbuilds 2014-02-25 17:00:38 -05:00
jakedt
4b689a7a7c Fix the translation of old ids to new ids, again. 2014-02-25 16:31:52 -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
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
f339160ab9 Fix for mapping translations for existing images. 2014-02-21 08:00:47 -05:00
jakedt
f8eb0c983f Short circuit the ancestry computation for empty ancestry strings. 2014-02-20 22:35:54 -05:00
jakedt
a63a49caa1 Fix up the shared base images stuff. 2014-02-20 22:26:10 -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
57dc1e045a Try to fix the bad query that makes mysql a sad panda. 2014-02-18 20:41:00 -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
Joseph Schorr
a897fb1dd3 Add tests for image sharing 2014-02-18 16:46:10 -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
46de02a9ec Merge remote-tracking branch 'origin/master' into allyourbaseimage 2014-02-17 15:18:01 -05:00
jakedt
50d130f199 Fix another image storage test. Reverse a test to make the conditional smaller. 2014-02-17 14:58:45 -05:00
jakedt
7428d2aa50 Fix the garbage collect method to remove unused old images. 2014-02-17 14:38:35 -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
5742e6ea4e First set of changes toward shared base images. 2014-02-14 16:06:30 -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
e1a4efe35c Change the build queue identifier to disambiguate between old and new build jobs. 2014-02-12 12:51:30 -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
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
b9a5e355eb Improve the error message for when a new org name doesn't pass the regex. 2014-02-06 19:59:10 -05:00
yackob03
c8f0780aaf Fix a subtle bug with create_or_update_tag. 2014-02-06 14:49:53 -05:00
yackob03
2a89c2bb35 Refactor the garbage collection code a tiny bit. 2014-02-06 14:22:13 -05:00
yackob03
ef68982728 Garbage collect repositories on push and on tag deletion. 2014-02-06 14:13:35 -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
yackob03
ea6ec52689 Fix OR predicate for mysql on prototype permissions. 2014-01-22 12:13:51 -05:00
yackob03
489c900cfd Fix the problem where a user's admin priviledges can be revoked with defaults. 2014-01-21 19:23:26 -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
yackob03
58412ff6b3 Fix some problems with the permission prototype application on repository create. 2014-01-21 17:18:12 -05:00
yackob03
4962494df5 Merge branch 'umask' of ssh://bitbucket.org/yackob03/quay into umask 2014-01-21 14:22:50 -05:00
yackob03
249c467437 Refactor the code for applying prototypes a bit. 2014-01-21 14:20:42 -05:00
Joseph Schorr
e8d51b651f Merge branch 'umask' of https://bitbucket.org/yackob03/quay into umask 2014-01-21 14:18:29 -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
661179eaca Forgot to use a different user specific query. 2014-01-20 19:07:06 -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
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
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
Joseph Schorr
e5f6a68248 Allow for email address-based login 2014-01-16 16:14:38 -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
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
8a492a9d56 Fix MySQL issue and enable sorting by description 2014-01-13 15:27:05 -05:00
Joseph Schorr
58b3ce2647 Add page support to the public repo list 2014-01-13 14:49:05 -05:00
yackob03
223d2ebaf1 Prevent organizations from attempting an account recovery. 2014-01-10 13:30:17 -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
bd2fe5cf99 Change to a list comprehesion 2014-01-07 15:48:44 -05:00
Joseph Schorr
971dd7dd3a Get tag deletion working 2014-01-07 15:21:24 -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
Joseph Schorr
0a63690e25 Add code for saving and displaying the size of images 2014-01-03 16:32:00 -05:00
yackob03
e02c98022d Specify the aggregate function for MySQLs GROUP BY. 2013-12-27 17:31:20 -05:00
yackob03
d93a8b6033 Use group_by to eliminate duplicates in the entity search. 2013-12-27 17:06:27 -05:00
yackob03
e23bee99ec Fix a bug where users in a different org would not show up in the entity search. 2013-12-27 16:56:31 -05:00
yackob03
5633c1fc79 Merge the plans and mark many as deprecated. Fix a bunch of pylint errors. 2013-12-19 17:06:04 -05:00
yackob03
dec74fc608 When an email code has already been used, just redirect to signin. 2013-12-18 19:47:42 -05:00
yackob03
d527746cfe Fix the list of public repos to respect the limit set by the API request. 2013-12-18 19:16:58 -05:00
Joseph Schorr
6cc0482bfb Make sure to properly load the entries for the last day 2013-12-09 21:13:21 -05:00
Joseph Schorr
a3b834cd66 Add ability to pick the dates of the logs viewed 2013-12-09 17:28:23 -05:00
Joseph Schorr
a0f9e1646a Add a logs view for specific members of an organization 2013-12-06 19:25:27 -05:00
Joseph Schorr
59046b2e79 Add ability to download logs 2013-12-06 15:59:59 -05:00