This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/util
Joseph Schorr 8aac3fd86e Add support for an external JWT-based authentication system
This authentication system hits two HTTP endpoints to check and verify the existence of users:

Existance endpoint:
GET http://endpoint/ with Authorization: Basic (username:) =>
    Returns 200 if the username/email exists, 4** otherwise

Verification endpoint:
GET http://endpoint/ with Authorization: Basic (username:password) =>
    Returns 200 and a signed JWT with the user's username and email address if the username+password validates, 4** otherwise with the body containing an optional error message

The JWT produced by the endpoint must be issued with an issuer matching that configured in the config.yaml, and the audience must be "quay.io/jwtauthn". The JWT is signed using a private key and then validated on the Quay.io side with the associated public key, found as "jwt-authn.cert" in the conf/stack directory.
2015-06-05 13:20:10 -04:00
..
config Add support for an external JWT-based authentication system 2015-06-05 13:20:10 -04:00
__init__.py Fix some stuff with logins and permissions, add tags to the mode. 2013-09-25 16:46:28 -04:00
aes.py Address CL concerns and switch to a real encryption system 2015-03-26 15:10:58 -04:00
analytics.py analytics: fix misspelled class name 2015-03-06 12:02:13 -05:00
aufs.py - Handle missing images properly 2014-10-14 21:40:02 -04:00
backfill_aggregate_sizes.py Add aggregate size column and a migration to backfill it 2015-03-16 18:03:17 -04:00
backfill_user_uuids.py Add the required migration for time machine tag lifetimes. 2015-02-13 14:41:08 -05:00
backoff.py Add exponential backoff of login attempts. 2014-09-02 15:27:05 -04:00
cache.py Fix NPE in cache control decorator 2015-05-28 13:22:42 -04:00
changes.py Fix bug in the changes library 2014-11-29 19:00:48 -05:00
checksums.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
cloudwatch.py cloudwatch: update docs 2015-02-20 16:07:02 -05:00
delete_access_tokens.py Fix some problems with off by one in the id condition when deleteing temporary access tokens. 2015-02-20 16:23:36 -05:00
dockerfileparse.py Fix dockerfile parsing for unicode 2014-11-28 15:03:04 -05:00
dynamic.py Set up the build logs to use our fake build logs on test and local. 2014-05-09 18:45:11 -04:00
exceptionlog.py Integrate sentry with the build worker. 2014-05-19 13:50:45 -04:00
gzipstream.py Add a time.sleep(0) to the tight loop in gzipstream to make sure we never use 100% of a machine CPU 2014-12-01 16:19:13 -05:00
gzipwrap.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
headers.py Make sure to only split into two parts max 2015-05-20 14:54:41 -04:00
http.py Add an exact abort and use it to send the expected response for 409s. 2014-06-11 16:55:38 -04:00
imagetree.py Change ImageTree to only use a single loop over the images when building. This should be slightly faster on large image sets 2015-03-04 16:53:22 -05:00
invoice.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
invoice.tmpl Fix invoice address 2015-02-18 11:57:13 -05:00
jinjautil.py Switch avatars to be built out of CSS and only overlayed with the gravatar when a non-default exists 2015-03-30 17:55:04 -04:00
migrateslackwebhook.py move slackwebhook migration from tools to util 2014-12-18 13:22:13 -05:00
morecollections.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
names.py fix shadowed variable 2015-01-05 14:51:00 -05:00
oauth.py Add setup UI for the new trigger types (bitbucket and gitlab) and add validation 2015-05-03 11:50:26 -07:00
phantomjs-runner.js Add better logging to the snapshot generator for timing purposes and make sure the PhantomJS script always exists after a maximum of 10 seconds. 2014-05-19 13:11:07 -04:00
queuefile.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
queuemetrics.py metrics: use config['name'] to get metric conf 2015-02-18 16:05:36 -05:00
queueprocess.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
safetar.py Use safer tar extraction. Handle error messages in the build process more intelligently. 2014-04-01 13:46:41 -04:00
seo.py 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
signing.py Add signing to the ACI converter 2015-02-04 15:29:24 -05:00
ssh.py consolidate everything into one GitHub trigger 2015-03-19 17:12:27 -04:00
streamingjsonencoder.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
streamlayerformat.py Work in progress: Docker -> ACI conversion 2015-01-13 17:46:11 -05:00
systemlogs.py Add ability to download system logs 2014-12-23 14:01:00 -05:00
tarfileappender.py Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
tarlayerformat.py Fix tar layer format comment 2015-02-05 14:40:02 -05:00
uncompressedsize.py Switch postgres to a non-transactional DDL to allow us to use peewee to modify data in migrations: enterprise customers are running postgres migrations offline already. Move the image backfill script back to a migration since it will now work. Unify the interface to sending a DB URI to env.py for the migration script. 2014-11-18 14:07:33 -05:00
useremails.py Add missing action 2015-01-16 14:57:09 -05:00
validation.py Switch unidecode over to the new anunidecode library and write some tests to validate results. 2014-08-01 15:50:25 -04:00