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
Joseph Schorr c374e8146a - Add code for placing the features information on the frontend
- Add a Features service for examining feature flags on the frontend
- Add a directive (quay-requires) that matches feature flags and, if any one does not match, removes the element from the DOM
- Add a directive (quay-show) that injects the features into the scope so that expressions of the form "Features.BILLING || something" work out of the box to show/hide the element
- Add a directive (quay-classes) that allows for setting of CSS classes on an element based on feature expression(s) such as {"!BILLING": "active"} (e.g. the BILLING flag is set to false, add the class "active".
2014-04-04 23:26:10 -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 Make sure the TAR import system handles TAR paths with local directory references 2014-04-01 13:00:26 -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 First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -04:00
endpoints - Add code for placing the features information on the frontend 2014-04-04 23:26:10 -04:00
features - Add code for placing the features information on the frontend 2014-04-04 23:26:10 -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 - Add code for placing the features information on the frontend 2014-04-04 23:26:10 -04:00
storage First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -04:00
templates - Add code for placing the features information on the frontend 2014-04-04 23:26:10 -04:00
test First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -04:00
tools First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -04:00
util Change to store the pull robot on the repository build and only add the credentials to the queue item. This prevents the credentials from being exposed to the end user. Also fixes the restart build option 2014-04-01 21:49:06 -04:00
workers First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -04:00
.gitignore Remove left over config from running on elastic beanstalk. 2013-10-16 17:52:19 -04:00
app.py Add a features modules that process the flask dict. 2014-04-03 18:47:17 -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 - Add code for placing the features information on the frontend 2014-04-04 23:26:10 -04:00
initdb.py First attempt at making config loadable through string config overrides in an env variable. 2014-04-03 17:31:46 -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 Use our patched version of docker-py with build credentials patched in. Fix the hostname in the build credentials block to be variable. 2014-04-01 11:38:17 -04:00
requirements.txt Update the docker-py dependency to point to our patched library. 2014-04-02 12:12:10 -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