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
josephschorr de6b7bc88d Merge pull request #1460 from coreos-inc/queuefilebinarydata
Add a binary data test for queue file
2016-05-13 16:43:18 -04:00
auth Fix user:admin scope handling and add test 2016-05-09 11:16:01 +02:00
avatars
binary_dependencies
buildman
buildstatus
buildtrigger
conf
contrib/osx
data Always use log entry kind cache 2016-05-13 15:20:55 -04:00
digest
emails
endpoints
events
features
formats
grunt
health
screenshots
static New Credentials dialog 2016-05-12 12:14:55 -04:00
storage
templates
test Merge pull request #1460 from coreos-inc/queuefilebinarydata 2016-05-13 16:43:18 -04:00
tools Let's not shadow a variable we are about to delete 2016-02-16 15:36:52 -05:00
util Merge pull request #1441 from coreos-inc/fastesttests 2016-05-05 13:57:05 -04:00
workers
.dockerignore
.gitignore
alembic.ini
app.py
application.py
Bobfile
boot.py
build.sh
CHANGELOG.md
config.py
dev.df Add fulldbtest support to local-docker.sh 2015-10-21 15:33:48 -04:00
Dockerfile
external_libraries.py
initdb.py
local-docker.sh
local-run.sh
local-test.sh use kwargs for parse_repository_name 2016-03-09 16:20:28 -05:00
MAINTAINERS
pylintrc
README.md
registry.py
release.py
requirements-dev.txt
requirements-nover.txt
requirements.txt
ROADMAP.md
secscan.py
verbs.py
web.py

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