d599406140
Ubuntu 16.04 LTS has a newer version than what we compile. |
||
---|---|---|
auth | ||
avatars | ||
buildman | ||
buildstatus | ||
buildtrigger | ||
conf | ||
contrib/osx | ||
data | ||
digest | ||
emails | ||
endpoints | ||
events | ||
features | ||
formats | ||
grunt | ||
health | ||
screenshots | ||
static | ||
storage | ||
templates | ||
test | ||
tools | ||
util | ||
workers | ||
.dockerignore | ||
.gitignore | ||
alembic.ini | ||
app.py | ||
application.py | ||
Bobfile | ||
boot.py | ||
build.sh | ||
CHANGELOG.md | ||
config.py | ||
dev.df | ||
Dockerfile | ||
external_libraries.py | ||
initdb.py | ||
local-docker.sh | ||
local-run.sh | ||
local-test.sh | ||
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
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 5000buildman
: run the buildmanagernotifications
: run the notification workertest
: run the unit testsinitdb
: 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
- Create a new virtualenv
- Activate new virtualenv
- Install unversioned dependencies
- Run tests
- Freeze requirements
- Deactivate virtualenv
- 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