Joseph Schorr
d43109d7cb
- Merge branch 'master' into sha-lom
...
- Extract out the tar handling from streamlayerformat into tarlayerformat
- Add a new tarfileappender class to make it easy to append data to gzipped tars
- Fix the gzipwrap to properly close
- Have the .git injection use the new appender
2014-10-15 15:51:34 -04:00
Joseph Schorr
dba75a08af
Make sure to handle deleted prefixes properly
2014-10-15 11:57:54 -04:00
Joseph Schorr
da28bc4ce9
- Handle missing images properly
...
- Add support for deleting directories
- Add a slew of tests for deletion of directories and other kinds of deletion and layering
2014-10-14 21:40:02 -04:00
Joseph Schorr
eef7edab49
Fix file deletion skipping
2014-10-14 18:48:26 -04:00
Joseph Schorr
b234019a02
Fix tests
2014-10-14 16:23:01 -04:00
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
8a37d63e35
Update the test db to use unique uuds for images storages.
2014-10-07 16:40:44 -04:00
Jake Moshenko
a0d94f9d59
Merge remote-tracking branch 'origin/laffa' into nomenclature
...
Conflicts:
test/data/test.db
2014-10-07 15:56:28 -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
ed8bcff39e
Merge remote-tracking branch 'origin/master' into nomenclature
...
Conflicts:
test/data/test.db
workers/dockerfilebuild.py
2014-10-06 10:29:39 -04:00
Joseph Schorr
e0993b26af
Make query params only read from query params, not JSON as well
2014-10-03 15:05:34 -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
2c5cc7990f
Allow for additional REDIS config such as password and port
2014-10-01 14:16:42 -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
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
f6d3238611
Fix API tests for the recent change
2014-09-23 11:33:52 -04:00
Joseph Schorr
87bc37f6c8
Merge branch 'sunday'
2014-09-23 11:29:03 -04:00
Jake Moshenko
79b6a9f4e0
Apparently the version of python in the baseimage requires the encoding comment.
2014-09-23 11:19:31 -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
74c1662f54
Unicode strings have to be declared as such for python to be happy.
2014-09-22 18:49:52 -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
Jake Moshenko
8c00eabedd
Merge remote-tracking branch 'origin/better-emails'
2014-09-19 10:04:02 -04:00
Jake Moshenko
b769926565
Tweak the team invite email. Update the test database to reflect the latest structure.
2014-09-19 10:03:35 -04:00
Joseph Schorr
6b05b55225
Add unicode password support
2014-09-18 17:36:26 -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
62f1f5f583
Add basic layer merging tests
2014-09-17 11:50:52 -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
2b59a0cbe1
Merge branch 'master' of bitbucket.org:yackob03/quay
2014-09-15 15:59:18 -04:00
Jake Moshenko
efb66f7c1e
Select the random row function based on DB driver.
2014-09-15 15:58:56 -04:00
Joseph Schorr
913b3e472f
Add ability to detach external login services
2014-09-15 12:01:02 -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
c01de4a916
Set redis logs entries to expire rather than to immediately delete them to make the logs archiver idempotent.
2014-09-12 13:13:14 -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
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
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
19a589ba54
Update the test db to have the google login service.
2014-09-04 20:11:42 -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
Jake Moshenko
2c20fca37e
Fix sharing tests and add a test to ensure that uploading images are not shared.
2014-08-29 14:30:49 -04:00
Joseph Schorr
3b72b26836
Merge branch 'master' into comewithmeifyouwanttowork
2014-08-28 20:50:13 -04:00
Joseph Schorr
6ec89bb179
Add Slack notification support
2014-08-26 22:09:56 -04:00
Joseph Schorr
a129aac94b
Add ability to regenerate robot account credentials
2014-08-25 17:19:23 -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
d2880807b2
- Further fixes for license stuff
...
- Small fixes to ensure Quay works for Postgres
2014-08-21 19:21:20 -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
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
1c3eca6fc9
Fix broken test config
2014-08-07 20:26:53 -04:00
Jake Moshenko
0372013f70
Merge remote-tracking branch 'origin/redalert'
...
Conflicts:
app.py
2014-08-04 16:56:34 -04:00
Jake Moshenko
09917ff062
Switch unidecode over to the new anunidecode library and write some tests to validate results.
2014-08-01 15:50:25 -04:00
Jake Moshenko
6b38ddb9b6
Remove the gpled loremipsum module.
2014-07-31 16:46:02 -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
d4c41f2b11
Remove the insane repository.
2014-07-22 16:46:19 -04:00
Joseph Schorr
56fec63fcd
Add test for API change to entity search
2014-07-22 13:47:35 -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
8d7493cb86
Convert over to notifications system. Note this is incomplete
2014-07-17 22:51:58 -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
5841c1237e
Add an "insane" test repo
2014-07-15 15:13:58 -04:00
Joseph Schorr
8ada6f0d50
Make test logs also not hit redis for the actual log data unless the flag is specified
2014-07-11 12:05:33 -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
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
Jake Moshenko
8530e819d6
Fix the test config to really use an in-memory database.
2014-07-02 19:10:40 -04:00
Jake Moshenko
4e5e8a08de
Add a maintenance notification kind and make it of the level warning.
2014-06-27 19:18:27 -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
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
2112333875
Update the test config to enable FEATURE_BILLING.
2014-05-30 15:48:20 -04:00
Jake Moshenko
4c1538ca90
Fix the tests with the new license data.
2014-05-29 13:57:57 -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
a1baba9fac
Add the LICENSE_USER_LIMIT to the test config.
2014-05-28 14:06:21 -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
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
Jake Moshenko
c953447ae0
Fix the tests to use a fake build that is not a moving target.
2014-05-20 18:53:00 -04:00
Jake Moshenko
ccc720fd39
Allow diffs to get very large for test cases.
2014-05-20 18:26:29 -04:00
Joseph Schorr
c0f3054781
Fix screenshot generation
2014-05-19 14:14:18 -04:00
Joseph Schorr
73b111f84c
Revert changes to the testdb accidentally checked in
2014-05-19 12:54:32 -04:00
Joseph Schorr
abfb86ccce
Change button on the tour page to "Start free trial" and have it start the plan signup process
2014-05-19 12:53:30 -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
d31c7e1ecf
Merge branch 'ldapper' of ssh://bitbucket.org/yackob03/quay into ldapper
2014-05-13 15:22:46 -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
0fd114df84
Add API usage tests for the superuser API
2014-05-12 15:22:58 -04:00
Joseph Schorr
f12970469b
Add security tests for the superuser API
2014-05-12 14:45:19 -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
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
77b9bc05ac
Fix tests.
2014-04-30 18:54:59 -04:00
Jake Moshenko
450928674b
Use a new caching algorithm which can limit the size for the build nodes. Stop treating public images as special. Add a new phase to the builder for pulling.
2014-04-30 18:48:36 -04:00
Joseph Schorr
d8efb399b0
Merge branch 'tagyourit'
2014-04-17 14:20:28 -04:00
Joseph Schorr
2ae48f7c15
Fix test multiple import issue
2014-04-15 18:51:12 -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
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
90c032ec21
Add the test queue to the account with which it belongs.
2014-04-14 19:03:31 -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
576fbe4f0d
Switch over to phusion baseimage. Prevent everything from daemonizing and start it with runit under phusion. Make workers trap and handle sigint and sigterm. Extend the reservation to 1hr for dockerfilebuild. Update nginx to remove the dependency on libgd. Merge the requirements and requirements enterprise files.
2014-04-11 13:32:45 -04:00
jakedt
d39f3cc5d4
Fix the tests and implement a fake stripe.
2014-04-10 15:20:16 -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
8e9faf6121
Toward running quay in a docker container.
2014-04-07 01:20: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
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
4f1ae25128
Make sure the TAR import system handles TAR paths with local directory references
2014-04-01 13:00:26 -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
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
afb3a67b7b
Switch the data to a textfield for authorization codes.
2014-03-25 16:06:34 -04:00
Joseph Schorr
7befc04809
Fix API usage tests to send the proper CSRF token and add a "invalid CSRF token" test
2014-03-25 15:17:02 -04:00
jakedt
26a57d0c21
Fix the test_api_security tests for csrf.
2014-03-25 14:53:27 -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
0992c8a47e
Fix some permissions problems still around due to some usage of scopes as strings.
2014-03-19 18:21:58 -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
6fc369bed2
Change non logged in 403s to 401s.
2014-03-19 13:57:36 -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
5e7ffd95ca
Update the api usage test to use the new url_for resources.
2014-03-18 19:34:26 -04:00
jakedt
1757a122fe
Update the security tests with the proper response codes for everything.
2014-03-18 19:21:46 -04:00
jakedt
0c4c4c78c7
Switch the security tests over to the new test format which is generated.
2014-03-18 16:48:09 -04:00
Joseph Schorr
d469b41899
Add an oauth authorization page
2014-03-14 18:57:28 -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
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
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
Joseph Schorr
e4d40e3289
Add test for bad repo names currently breaking quay
2014-03-11 13:38:44 -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
fde96c736a
Fix a problem with initdb and add a limit to the builds API.
2014-03-05 15:50:32 -05:00