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-25 17:27:00 -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 Merge remote-tracking branch 'origin/swaggerlikeus' 2014-03-25 17:27:00 -04:00
binary_dependencies Add the binary dependencies for the build worker and some instructions on how to get it running on a host. 2014-02-11 19:55:22 -05: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 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
endpoints 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
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 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
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 Fix and unify CSRF support across web and API endpoints. 2014-03-25 14:32:26 -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 Add CORS headers to all error responses. 2014-03-25 15:38:31 -04:00
workers Handle messages with the word message in them. 2014-03-07 12:27:30 -05: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 Add some sort of oauth. 2014-03-12 12:37:06 -04:00
requirements.txt Manually downgrade reportlab to keep xhtml2pdf happy. 2014-03-04 19:10:28 -05: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