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-03-28 17:54:07 -04: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 Fix the problem with login on new triggers. 2014-03-26 15:52:24 -04:00
binary_dependencies Change the docker version to one that starts using the lxc driver. 2014-03-27 21:11:51 +00:00
buildstatus Add support for build status tags, which link to the Quay.io repo 2014-02-28 16:23:36 -05:00
conf Add a mostly working cloud init script and a bitbucket deploy key. The docker run of logstash isn't working for some reason and still must be done manually. 2014-02-04 19:01:04 -05:00
data Merge branch 'master' of ssh://bitbucket.org/yackob03/quay 2014-03-28 17:54:07 -04:00
endpoints Handle empty GitHub repositories and do not 500 if the repository cannot be read 2014-03-28 15:32:56 -04:00
screenshots Add a build history screenshot to the landing page and fix the screenshots.js script to work on prod 2014-03-17 17:34:23 -04:00
static Fix date picker in the logs view for the new angular 2014-03-25 19:39:56 -04:00
storage Remove an extraneous slash in image file path computations. Add a script that will audit and fix image ancestry. 2014-02-21 12:05:03 -05:00
templates Disable that pesky browser cache in the ways that matter. 2014-03-26 18:36:59 -04:00
test Switch the data to a textfield for authorization codes. 2014-03-25 16:06:34 -04:00
tools Add a tool to compute how much storage shared images have saved us. 2014-03-07 15:37:56 -05:00
util Disable that pesky browser cache in the ways that matter. 2014-03-26 18:36:59 -04:00
workers Freeze the version of docker-py to 0.3.0 and create a fancy streaming json decoder to work around the lack of newlines in push statuses. 2014-03-28 17:53:33 -04:00
.gitignore Remove left over config from running on elastic beanstalk. 2013-10-16 17:52:19 -04:00
app.py Fix cookie auth to work with oauth token auth. Make sure user loading is truly deferred to save DB connections. 2014-03-17 12:01:13 -04:00
application.py Holy black magic batman, move the query parameters to decorators and expose them through discovery. 2014-03-11 12:57:33 -04:00
config.py Fix the trigger delete code and enable peewee autorollback. 2014-03-06 14:47:02 -05:00
initdb.py Add ability for users to see their authorized applications and revoke the access 2014-03-24 20:57:02 -04:00
README.md Update the tests for the new build and trigger apis. 2014-02-26 13:45:49 -05:00
requirements-nover.txt Freeze the version of docker-py to 0.3.0 and create a fancy streaming json decoder to work around the lack of newlines in push statuses. 2014-03-28 17:53:33 -04:00
requirements.txt Freeze the version of docker-py to 0.3.0 and create a fancy streaming json decoder to work around the lack of newlines in push statuses. 2014-03-28 17:53:33 -04:00
run-local.sh Get the basic tutorial working completely, including reacting to server-side events 2014-02-06 20:58:26 -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 conf/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.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

running the tests with coverage (requires coverage module):

STACK=test coverage run -m unittest discover
coverage html

generating screenshots:

cd screenshots
casperjs screenshots.js --d