No description
8aac3fd86e
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. |
||
---|---|---|
art | ||
auth | ||
avatars | ||
binary_dependencies | ||
buildman | ||
buildstatus | ||
conf | ||
data | ||
emails | ||
endpoints | ||
events | ||
features | ||
formats | ||
grunt | ||
health | ||
screenshots | ||
static | ||
storage | ||
templates | ||
test | ||
tools | ||
util | ||
workers | ||
.dockerignore | ||
.gitignore | ||
alembic.ini | ||
app.py | ||
application.py | ||
Bobfile | ||
build.sh | ||
config.py | ||
Dockerfile | ||
external_libraries.py | ||
initdb.py | ||
local-run.sh | ||
local-setup-osx.sh | ||
local-test.sh | ||
README.md | ||
registry.py | ||
requirements-nover.txt | ||
requirements.txt | ||
ROADMAP.md | ||
verbs.py | ||
web.py |
to build and upload quay to quay:
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/coreos-inc/quay.git
cd quay
rm Dockerfile
ln -s Dockerfile.web Dockerfile
sudo docker build -t quay.io/quay/quay .
sudo docker push quay.io/quay/quay
to prepare a new host:
Deploy cloud-init script from quayconfig/cloudconfig/webserver.yaml
or
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/DevTable/gantryd.git
cd gantryd
cat requirements.system | xargs sudo apt-get install -y
virtualenv --distribute venv
venv/bin/pip install -r requirements.txt
sudo docker login -u 'quay+deploy' -e notused staging.quay.io
start the quay processes:
cd ~
git clone https://github.com/coreos-inc/quay.git
sudo docker pull staging.quay.io/quay/quay
cd ~/gantryd
sudo venv/bin/python gantry.py ../quayconfig/production/gantry.json update quay
to build and upload the builder to quay
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update && sudo apt-get install -y git
git clone git clone https://github.com/coreos-inc/quay.git
cd quay
rm Dockerfile
ln -s Dockerfile.buildworker Dockerfile
sudo docker build -t quay.io/quay/builder .
sudo docker push quay.io/quay/builder
to run the builder from a fresh 14.04 server:
Deploy cloud-init script from quayconfig/cloudconfig/builder.yaml
or
sudo apt-get update && sudo apt-get install -y git lxc linux-image-extra-`uname -r`
curl -s https://get.docker.io/ubuntu/ | sudo sh
git clone https://github.com/DevTable/gantryd.git
cd gantryd
cat requirements.system | xargs sudo apt-get install -y
virtualenv --distribute venv
venv/bin/pip install -r requirements.txt
sudo docker login -u 'quay+deploy' -e notused quay.io
start the worker
cd ~
git clone https://github.com/coreos-inc/quay.git
sudo docker pull quay.io/quay/builder
cd ~/gantryd
sudo venv/bin/python gantry.py ../quayconfig/production/gantry.json update builder
running the tests:
TEST=true python -m unittest discover
running the tests with coverage (requires coverage module):
TEST=true coverage run -m unittest discover
coverage html
generating screenshots:
cd screenshots
casperjs screenshots.js --d