Joseph Schorr
72d613614d
Merge branch 'bagger'
2014-12-01 12:48:59 -05:00
Jimmy Zelinskie
8591889c62
Generate PNG avatars.
2014-11-26 16:52:24 -05:00
Joseph Schorr
b7a489813a
Fix build system to work with Github Enterprise
2014-11-26 12:37:20 -05:00
Jimmy Zelinskie
eab79ff1ad
Add caching headers to avatar endpoint.
2014-11-26 10:54:16 -05:00
Jimmy Zelinskie
182c87b983
Remove unused imports.
2014-11-26 10:53:51 -05:00
Joseph Schorr
b3240de1f8
Rename gravatar field after the bees merge.
2014-11-25 19:59:24 -05:00
Jimmy Zelinskie
d9f0d36dfe
Add missing InvalidResponse class.
2014-11-25 16:08:01 -05:00
Joseph Schorr
3a935822fc
Fix PhantomJS by always using the local copy of CDN files, and making sure to specify TLS (instead of the default SSLv3, which is now deprecated)
2014-11-25 15:32:10 -05:00
Joseph Schorr
0e13ef3ff8
Fix various bugs and styling issues
2014-11-24 19:40:03 -05:00
Joseph Schorr
7bf96c506f
Merge branch 'bees' into koh
2014-11-24 19:25:53 -05:00
Joseph Schorr
e9cac407df
Add a configurable avatar system and add an internal avatar system for enterprise
2014-11-24 19:25:13 -05:00
Jimmy Zelinskie
716d7a737b
Strip whitespace from ALL the things.
2014-11-24 16:07:38 -05:00
Joseph Schorr
b8e873b00b
Add support to the build system for tracking if/when the build manager crashes and make sure builds are restarted within a few minutes
2014-11-21 14:27:06 -05:00
Jimmy Zelinskie
dee4c389a8
Base sessions on UUIDs.
...
Now that a backfill has been applied, sessions can now be based on UUIDs
because all users will have one.
2014-11-20 18:44:36 -05:00
Jake Moshenko
2b8c246476
Temporarily put user rename behind a feature flag. Switch queue names back to using the username for namespace while we figure out a real migration strategy.
2014-11-20 15:36:39 -05:00
Jake Moshenko
768a60b414
Redirect to repository pages if the repository exists, and it's public or the user has read access, and the route doesn't match any other route.
2014-11-20 15:12:37 -05:00
Jimmy Zelinskie
12ff4b107c
Undo sessions being driven by UUID.
...
Basing sessions on UUIDs must be done in phases. First all users
must obtain an UUID. Once a backfill has given all previous users
UUIDs and new users are being generated with UUIDs, then we can
actually change the session to be based on that value.
2014-11-20 12:57:17 -05:00
Joseph Schorr
8fab3b6d34
Make sure to switch the context back to LogEntry and make sure to only include the performer if actually present
2014-11-20 12:04:53 -05:00
Jimmy Zelinskie
9d677b8eb3
Add UUID to User model and use in cookie.
2014-11-19 13:28:16 -05:00
Jake Moshenko
3815e9a293
Switch to installing paths in github which do not include repository information.
2014-11-18 10:29:59 -05:00
Jake Moshenko
a7bae6c1d9
Fix robot renaming. Allow for trigger URLs to contain or omit the repository in the path. Fix calls to get_trigger to remove the namespace and repository.
2014-11-18 10:24:48 -05:00
Jake Moshenko
f4681f2c18
Merge branch 'master' into nomenclature
...
Conflicts:
test/data/test.db
2014-11-17 17:59:59 -05:00
Joseph Schorr
58ca76239b
Add ability to one-click generate an authorization access token in the applications panel
2014-11-17 14:54:07 -05:00
Joseph Schorr
ccc16fd6f4
Merge branch 'master' into bees
2014-11-17 13:14:27 -05:00
Joseph Schorr
003afc0c25
Add back the accidentally removed user event code. This fixes the tutorial.
2014-11-14 19:55:31 -05:00
Joseph Schorr
3e550b4b71
Make sure to sort the images for the squashed image system
2014-11-13 15:13:44 -05:00
Joseph Schorr
e7cbda86f7
Merge branch 'perf'
2014-11-10 21:52:27 -05:00
Joseph Schorr
091f821a6a
- Rename get_repo_image to get_repo_image_extended and get_repo_image_directly to get_repo_image
...
- Remove the configure call from CloseForLongOperation
- Other small fixes
2014-11-10 13:44:36 -05:00
Joseph Schorr
a1147236ea
Fix OAuth login to try usernames until it finds a valid username
2014-11-10 11:30:47 -05:00
Jake Moshenko
ca435fc7a6
Rename robots when we rename a user. Do not use the namespace from the path to check permissions from the incoming webhooks since the namespace may have changed and we cannot recreate them in remote services easily.
2014-11-09 17:50:57 -05:00
Joseph Schorr
691be49817
Fix issues with the perf updated code
2014-11-07 14:36:32 -05:00
Joseph Schorr
9d1b6d829a
Make sure the external login link for GHE links to the enterprise GitHub and not the hosted version
2014-11-06 20:35:52 -05:00
Joseph Schorr
d5bbb57481
Change registry code to disconnect from the DB before long I/O operations
2014-11-06 18:00:52 -05:00
Joseph Schorr
23d9bd2b42
Change verbs to use short lived database connections
2014-11-06 17:50:48 -05:00
Joseph Schorr
c569299e5c
Database optimizations around image creation and logs lookup
2014-11-06 14:48:16 -05:00
Joseph Schorr
3e79379942
- Make the OAuth config system centralized
...
- Add support for Github Enterprise login
2014-11-05 16:43:37 -05:00
Joseph Schorr
a35bc11912
Add perf comments
2014-11-05 12:27:38 -05:00
Joseph Schorr
6adf4644b4
Remove unneeded extra logging call
2014-11-03 17:17:05 -05:00
Joseph Schorr
98602a2d0c
Add a new configurable health check, to make sure production instances are not taken down by Redis or non-local DB issues
2014-11-02 15:06:17 -05:00
Joseph Schorr
4eedd54b66
- Make usage language more accurate by stating "repositories"
...
- Have usage counter be based on a 4 weeks TTL
- Add a simple usage counter breakage test
2014-10-30 13:26:02 -04:00
Joseph Schorr
79e4864eb2
Move the the track_and_log code into its own module. This breaks a dependency chain between index -> common -> api -> subscribe -> common again.
2014-10-30 12:49:51 -04:00
Joseph Schorr
c1398c6d2b
- Add a log entry for repo verb handling and make the container usage calculation take it into account
...
- Move all the repo push/pull/verb logging into a central track_and_log method
- Readd images accidentally deleted in the last CL
- Make the uncompressed size migration script better handle exceptions
2014-10-29 15:42:44 -04:00
Joseph Schorr
dfe143270c
Add is_testing value to the status endpoint
2014-10-29 13:51:05 -04:00
Joseph Schorr
e7f98d991f
Fix bug which caused manual builds to always build the master branch
2014-10-29 12:04:34 -04:00
Joseph Schorr
109850b428
Add a basic usage counter for enterprise
2014-10-28 16:33:13 -04:00
Joseph Schorr
93cd7de0e0
Handle email errors in a better manner
2014-10-28 12:10:44 -04:00
Joseph Schorr
fb2470615b
Add support for filtering based on tags, in addition to branches
2014-10-23 16:39:10 -04:00
Jake Moshenko
1461310ab8
Merge remote-tracking branch 'origin/master' into nomenclature
...
Conflicts:
endpoints/common.py
endpoints/notificationhelper.py
test/data/test.db
workers/dockerfilebuild.py
2014-10-23 13:25:37 -04:00
Joseph Schorr
5db9cd948b
Add better (jinja-based) messaging to the notifications and add some fixes for the email templates
2014-10-22 19:01:56 -04:00
Joseph Schorr
ea96dbb2ad
Remove the pushed_image_count since we aren't getting the data anyway
2014-10-22 15:26:29 -04:00
Joseph Schorr
208c97776f
Make sure builds are queued under a transaction. This should prevent a queue item from existing without its repository build object (or vice versa).
2014-10-22 15:20:53 -04:00
Joseph Schorr
8b331b453e
Make the contact page dynamic so that enterprise customers can configure it however they like
2014-10-22 14:49:33 -04:00
Joseph Schorr
612a5e5102
Fix the updated_tags information by storing it in the session
2014-10-22 14:14:56 -04:00
Joseph Schorr
0ef17b082b
Make sure to disconnect from the database when finished with the processes
2014-10-21 17:40:57 -04:00
Joseph Schorr
47be7cab7a
Compute the tarsum only when required. Newer versions of Docker only require the simple SHA256 checksum, so this should save us from writing to a temp file.
2014-10-20 13:11:33 -04:00
Joseph Schorr
5e74edc116
Add extra image check for put_image_checksum
2014-10-17 17:57:10 -04:00
Joseph Schorr
346b594b66
Make the external login error messaging nicer when an email address conflict occurs
2014-10-17 11:44:31 -04:00
Joseph Schorr
a423032e80
- Make sure we log when an exception occurs in the squashing code
...
- Have queue file always try to return any remaining data in the buffer
- Remove the raise of the exception when we get an empty tar file
2014-10-16 12:54:16 -04:00
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
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
c3171a2690
Redo the UI for the trigger setup dialog and add the ability for github triggers to be filtered using a regex on their branch name.
2014-10-14 15:46:35 -04:00
Joseph Schorr
37aa70c28e
Notifications must check for the user OR an organization with the namespace name
2014-10-10 19:05:20 -04:00
Joseph Schorr
07f3bd6f8c
Add a synthetic .git directory containing the commit sha so that 'git rev-parse HEAD' works from inside builds
2014-10-10 17:20:07 -04:00
Joseph Schorr
adc915a5eb
Fix the subprocesses to also use their own storage classes; this fixes a socket error when talking to S3
2014-10-08 16:54:03 -04:00
Joseph Schorr
d16fdde528
Fix bug in dockerloadformat and make sure we handle exceptions properly in the verb call
2014-10-08 13:43:12 -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
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
Jake Moshenko
6bc982b77b
Add a note about updating nginx config when updating the _ping endpoint.
2014-10-06 10:24:40 -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
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