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
2016-04-06 18:54:49 -04:00
auth Make test more resilient to changes in IDs 2016-03-30 16:19:15 -04:00
avatars Switch avatars to be built out of CSS and only overlayed with the gravatar when a non-default exists 2015-03-30 17:55:04 -04:00
binary_dependencies Enable http2 in nginx 2015-12-04 17:06:55 -05:00
buildman Boto error_code is a string, not the HTTP status code 2015-12-23 15:12:01 -05:00
buildstatus status badges updated to use shields.io standard 2015-03-23 20:24:08 -04:00
buildtrigger use app.gitlab_trigger for config data 2016-03-18 14:56:09 -04:00
conf Trust upstream proxies to specify https scheme 2016-02-03 13:08:43 -05:00
contrib/osx README: document getting started process 2015-06-18 12:31:42 -04:00
data Move the sequence fixer to a separate tool which can be run 2016-04-01 13:46:13 -04:00
digest Merge branch 'newchanges' into python-registry-v2 2015-11-06 18:24:32 -05:00
emails Better UX when recovering organization emails 2015-12-28 15:25:31 -05:00
endpoints Never include Stripe checking in LDN 2016-04-01 14:10:11 -04:00
events Add a vulnerability_found event for notice when we detect a vuln 2015-11-06 15:22:18 -05:00
features Strip whitespace from ALL the things. 2014-11-24 16:07:38 -05:00
formats aci: pylint 2016-03-22 15:03:48 -04:00
grunt Disable source map generation 2015-11-30 11:42:45 -05:00
health Add missing arg 2015-10-22 15:57:34 -04:00
screenshots Delete the image diff feature 2015-12-23 13:08:01 -05:00
static Never include Stripe checking in LDN 2016-04-01 14:10:11 -04:00
storage Add mocked unit tests for cloud storage engine 2016-03-23 12:13:54 -04:00
templates Add UI to the setup tool for enabling ACI conversion 2016-02-17 12:05:48 -05:00
test Merge pull request #1294 from coreos-inc/partialperms 2016-03-30 16:40:40 -04:00
tools Let's not shadow a variable we are about to delete 2016-02-16 15:36:52 -05:00
util Initialize the db for fixsequences 2016-04-01 14:26:19 -04:00
workers Change logs worker to use a global lock in the inner loop and move storage out of the transaction 2016-03-24 14:09:48 -04:00
.dockerignore Update the roadmap for current sprint and strip from QE 2016-03-04 11:29:51 -05:00
.gitignore Update .gitignore to ignore test registry data 2016-01-08 11:15:34 -05:00
alembic.ini Print the time when logging from migrations 2015-11-09 22:29:17 -05:00
app.py Refactor the security worker and API calls and add a bunch of tests 2016-02-25 12:29:41 -05:00
application.py Unify the logging infrastructure and turn the prod logging level to INFO in preparation for picking up a new cloud logger. 2015-02-11 14:15:18 -05:00
Bobfile Update the bobfile to only use the one dockerfile. 2015-01-29 11:04:05 -05:00
boot.py superuser: add storage replication config 2015-11-09 17:34:22 -05:00
build.sh Update build.sh to work with GIT_HEAD 2015-11-04 16:55:34 -05:00
CHANGELOG.md Update changelog for v1.15.5 release 2016-02-12 18:06:21 -05:00
config.py add GITLAB_TRIGGER_CONFIG to config.py 2016-03-18 14:56:09 -04:00
dev.df Add fulldbtest support to local-docker.sh 2015-10-21 15:33:48 -04:00
Dockerfile dockerfile: bust pip cache for pybitbucket 2016-03-01 11:50:31 -05:00
external_libraries.py Never include Stripe checking in LDN 2016-04-01 14:10:11 -04:00
initdb.py Refactor the security worker and API calls and add a bunch of tests 2016-02-25 12:29:41 -05:00
local-docker.sh Add fulldbtest support to local-docker.sh 2015-10-21 15:33:48 -04:00
local-run.sh remove shebang from local scripts 2014-11-20 15:25:13 -05:00
local-test.sh use kwargs for parse_repository_name 2016-03-09 16:20:28 -05:00
MAINTAINERS MAINTAINERS: initial commit 2015-08-04 21:39:33 -07:00
pylintrc pylint: ignore constant names and too many locals 2015-11-10 15:22:30 -05:00
README.md Document process for freezing dependencies and freeze git dependencies 2016-04-06 13:52:42 -04:00
registry.py Merge remote-tracking branch 'upstream/v2-phase4' into python-registry-v2 2015-10-22 16:59:28 -04:00
release.py superuser: add storage replication config 2015-11-09 17:34:22 -05:00
requirements-dev.txt Add tool to allow customers to delete invalid layers 2015-12-01 16:35:28 -05:00
requirements-nover.txt Update nover APScheduler 2016-04-06 18:54:49 -04:00
requirements.txt Rollback APScheduler to 3.0.5 2016-04-06 16:35:39 -04:00
ROADMAP.md Update the roadmap for current sprint and strip from QE 2016-03-04 11:29:51 -05:00
verbs.py Add DEBUGLOG flag for enabling full debug logs in all gunicorn components 2015-10-13 10:45:49 -04:00
web.py Update quay sec code to fix problems identified in previous review 2015-11-09 17:14:35 -05:00

Quay - container image registry

master branch build status: Docker Repository on Quay

Quay is a container image registry with managements APIs, a Docker registry API, a container build system. The application is implemented as a set of API endpoints written in python and an Angular.js frontend.

Setup Development Environment

If you are doing local development on your workstation against the code base follow these instructions.

Docker

Quay and its parts can run inside of docker containers. This method requires no installation of any python packages on your host machine. The local-docker.sh script is provided to prepare and run parts of quay. First, start redis:

docker run -d -p 6379:6379 redis

And clone the configuration repo:

git clone git@github.com:coreos-inc/quay-config.git ../quay-config
ln -s ../../quay-config/local conf/stack

To build and run a docker container, pass one argument to local-docker.sh:

  • dev: run quay on port 5000
  • buildman: run the buildmanager
  • notifications: run the notification worker
  • test: run the unit tests
  • initdb: clear and initialize the test database

For example:

./local-docker.sh dev

will start quay in a docker container. Now quay will be running on: http://127.0.0.1:5000 The username is devtable and the password is password.

OS X

git clone git@github.com:coreos-inc/quay.git
cd quay
./contrib/osx/local-setup.sh

Now run the server; it will use sqlite as the SQL server.

./local-run.sh

Now quay will be running on: http://127.0.0.1:5000 The username is devtable and the password is password.

Some packages may fail to build with clang (which now defaults to C11). They can be installed with C99 with:

CFLAGS='-std=c99' pip install --no-cache --no-binary :all: gevent
CFLAGS='-std=c99' pip install --no-cache --no-binary :all: cffi
CFLAGS='-std=c99' pip install --no-cache --no-binary :all: cryptography

Update Requirements

  1. Create a new virtualenv
  2. Activate new virtualenv
  3. Install unversioned dependencies
  4. Run tests
  5. Freeze requirements
  6. Deactivate virtualenv
  7. Remove virtualenv

Example (commands may differ dependending on virtualenv tools):

pyenv virtualenv 2.7.11 quay-deps
pyenv activate quay-deps
pip install -r requirements-nover.txt
./local-test.sh
pip freeze > requirements.txt
pyenv deactivate quay-deps
pyenv uninstall quay-deps