No description
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.
Find a file
2014-02-03 11:57:29 -05:00
art Add a logo for quay. Make the navbar a little friendlier to smaller devices. 2013-10-13 16:13:50 -04:00
auth Allow a request with invalid basic auth to still be considered anonymous, rather than throwing a 401. 2013-12-19 15:18:14 -05:00
binary_dependencies Fix some ordering in the installation instructions. Use an SSL enabled nginx build. Update the location of the list of mime types. 2014-01-07 17:01:19 -05:00
buildserver Make the data block returned by the server mirror that of the build server. Make the UI respond to the new status format for pushing. 2014-01-02 14:13:16 -05:00
conf Update the logrotate config to use the right permissions for the file, and to call USR1 on nginx after rotation. Update the readme to use the nginx pidfile. 2014-02-03 11:57:29 -05:00
data Make testing much faster by using a save point, rather than recreating the database every test 2014-01-30 20:57:40 -05:00
endpoints Fix broken API routes 2014-01-31 17:54:56 -05:00
screenshots Update the screenshots. Add a screenshot and some marketing copy for logging. Change the branding on the screenshot tabs to Quay.io. 2014-01-10 12:40:14 -05:00
static Switch to using the ?namespace param instead of cookie changes 2014-01-31 14:00:42 -05:00
storage Actually delete the image data when deleting the tag. 2014-01-09 17:13:26 -05:00
templates Merge branch 'security' 2014-01-23 14:51:43 -05:00
test Make testing much faster by using a save point, rather than recreating the database every test 2014-01-30 20:57:40 -05:00
tools Add a fun tool that generates a dot version of the relationships in our system. 2014-01-16 14:45:23 -05:00
util Empty tar files should be interepreted as no diffs. 2014-01-31 11:29:55 -05:00
workers Fixes to the build server. 2013-12-31 16:22:58 -05:00
.gitignore Remove left over config from running on elastic beanstalk. 2013-10-16 17:52:19 -04:00
app.py Make the app config more powerful in terms of injecting fake dependencies. Refactor the tests to use metaclasses and to actually all run. 2013-11-06 23:21:12 -05:00
application.py Merge remote-tracking branch 'origin/logcabin' 2014-01-31 19:33:38 -05:00
config.py First attempt at emitting logstash style logs. 2014-01-30 13:32:06 -05:00
gunicorn_config.py Have gunicorn publish its pid and have logrotate bounce it so that the file handle migrates. 2014-01-31 19:23:37 -05:00
initdb.py Merge remote-tracking branch 'origin/logcabin' 2014-01-31 19:33:38 -05:00
README.md Update the logrotate config to use the right permissions for the file, and to call USR1 on nginx after rotation. Update the readme to use the nginx pidfile. 2014-02-03 11:57:29 -05:00
requirements-nover.txt First attempt at emitting logstash style logs. 2014-01-30 13:32:06 -05:00
requirements.txt Upgrade peewee 2014-01-30 21:35:39 -05:00

to prepare a new host:

sudo apt-get update
sudo apt-get install -y git python-virtualenv python-dev phantomjs libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev libevent-dev gdebi-core

check out the code:

git clone https://bitbucket.org/yackob03/quay.git
cd quay
virtualenv --distribute venv
source venv/bin/activate
pip install -r requirements.txt
sudo gdebi --n binary_dependencies/*.deb
sudo cp conf/logrotate/* /etc/logrotate.d/

running:

sudo mkdir -p /mnt/logs/ && sudo chown $USER /mnt/logs/ && sudo /usr/local/nginx/sbin/nginx -c `pwd`/conf/nginx.conf
sudo mkdir -p /mnt/logs/ && sudo chown $USER /mnt/logs/ && STACK=prod gunicorn -c gunicorn_config.py application:application

start the log shipper:

curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo docker pull quay.io/quay/logstash
sudo docker run -d -e REDIS_PORT_6379_TCP_ADDR=logs.quay.io -v /mnt/logs:/mnt/logs quay.io/quay/logstash quay.conf

start the workers:

STACK=prod python -m workers.diffsworker -D
STACK=prod python -m workers.dockerfilebuild -D
STACK=prod python -m workers.webhookworker -D

bouncing the servers:

sudo kill -HUP `cat /mnt/logs/nginx.pid`
kill -HUP `cat /mnt/logs/gunicorn.pid`

kill <pids of worker daemons>
restart daemons

running the tests:

STACK=test python -m unittest discover

generating screenshots:

cd screenshots
casperjs screenshots.js --d