Docker registry elliptics driver
Project description
# Docker registry elliptics driver
This is a [docker-registry backend driver](https://github.com/dotcloud/docker-registry/tree/master/depends/docker-registry-core) based on the [Elliptics](http://reverbrain.com/elliptics/) key-value storage.
[![PyPI version][pypi-image]][pypi-url]
[![Build Status][travis-image]][travis-url]
## Usage
Assuming you have a working docker-registry.
`pip install docker-registry-driver-elliptics`
Edit your configuration so that `storage` reads `elliptics`.
## Options
You may add any of the following to your main docker-registry configuration to further configure it.
1. `elliptics_nodes`: Elliptics remotes
1. `elliptics_wait_timeout`: time to wait for the operation complete
1. `elliptics_check_timeout`: timeout for pinging node
1. `elliptics_io_thread_num`: number of IO threads in processing pool
1. `elliptics_net_thread_num`: number of threads in network processing pool
1. `elliptics_nonblocking_io_thread_num`: number of IO threads in processing pool dedicated to nonblocking ops
1. `elliptics_groups`: Elliptics groups registry should use
1. `elliptics_verbosity`: Elliptics logger verbosity (0...4)
1. `elliptics_logfile`: path to Elliptics logfile (default: `dev/stderr`)
1. `elliptics_addr_family`: address family to use when adding Elliptics remotes (default: `2` (for ipv4)). Use 10 for ipv6 remotes on Linux.
Example:
```yaml
storage: elliptics
elliptics_nodes:
elliptics-host1: 1025
elliptics-host2: 1025
...
hostN: port
elliptics_wait_timeout: 60
elliptics_check_timeout: 60
elliptics_io_thread_num: 2
elliptics_net_thread_num: 2
elliptics_nonblocking_io_thread_num: 2
elliptics_groups: [1, 2, 3]
elliptics_verbosity: 4
elliptics_logfile: "/tmp/logfile.log"
elliptics_loglevel: debug
```
## Developer setup
Clone this.
Install elliptics:
```
sudo apt-get install curl
curl http://repo.reverbrain.com/REVERBRAIN.GPG | sudo apt-key add -
sudo echo "deb http://repo.reverbrain.com/precise/ current/amd64/" | sudo tee -a /etc/apt/sources.list
sudo echo "deb http://repo.reverbrain.com/precise/ current/all/" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install elliptics
```
Get your python ready:
```
sudo apt-get install python-pip
sudo pip install tox
```
Start the test elliptics:
```
cd fixtures
sudo ./start.sh
```
You are ready to hack.
In order to verify what you did is ok, just run `tox`.
This will run the tests provided by [`docker-registry-core`](https://github.com/dotcloud/docker-registry/tree/master/depends/docker-registry-core)
[pypi-url]: https://pypi.python.org/pypi/docker-registry-driver-elliptics
[pypi-image]: https://badge.fury.io/py/docker-registry-driver-elliptics.svg
[travis-url]: http://travis-ci.org/dmp42/docker-registry-driver-elliptics
[travis-image]: https://secure.travis-ci.org/dmp42/docker-registry-driver-elliptics.png?branch=master
This is a [docker-registry backend driver](https://github.com/dotcloud/docker-registry/tree/master/depends/docker-registry-core) based on the [Elliptics](http://reverbrain.com/elliptics/) key-value storage.
[![PyPI version][pypi-image]][pypi-url]
[![Build Status][travis-image]][travis-url]
## Usage
Assuming you have a working docker-registry.
`pip install docker-registry-driver-elliptics`
Edit your configuration so that `storage` reads `elliptics`.
## Options
You may add any of the following to your main docker-registry configuration to further configure it.
1. `elliptics_nodes`: Elliptics remotes
1. `elliptics_wait_timeout`: time to wait for the operation complete
1. `elliptics_check_timeout`: timeout for pinging node
1. `elliptics_io_thread_num`: number of IO threads in processing pool
1. `elliptics_net_thread_num`: number of threads in network processing pool
1. `elliptics_nonblocking_io_thread_num`: number of IO threads in processing pool dedicated to nonblocking ops
1. `elliptics_groups`: Elliptics groups registry should use
1. `elliptics_verbosity`: Elliptics logger verbosity (0...4)
1. `elliptics_logfile`: path to Elliptics logfile (default: `dev/stderr`)
1. `elliptics_addr_family`: address family to use when adding Elliptics remotes (default: `2` (for ipv4)). Use 10 for ipv6 remotes on Linux.
Example:
```yaml
storage: elliptics
elliptics_nodes:
elliptics-host1: 1025
elliptics-host2: 1025
...
hostN: port
elliptics_wait_timeout: 60
elliptics_check_timeout: 60
elliptics_io_thread_num: 2
elliptics_net_thread_num: 2
elliptics_nonblocking_io_thread_num: 2
elliptics_groups: [1, 2, 3]
elliptics_verbosity: 4
elliptics_logfile: "/tmp/logfile.log"
elliptics_loglevel: debug
```
## Developer setup
Clone this.
Install elliptics:
```
sudo apt-get install curl
curl http://repo.reverbrain.com/REVERBRAIN.GPG | sudo apt-key add -
sudo echo "deb http://repo.reverbrain.com/precise/ current/amd64/" | sudo tee -a /etc/apt/sources.list
sudo echo "deb http://repo.reverbrain.com/precise/ current/all/" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install elliptics
```
Get your python ready:
```
sudo apt-get install python-pip
sudo pip install tox
```
Start the test elliptics:
```
cd fixtures
sudo ./start.sh
```
You are ready to hack.
In order to verify what you did is ok, just run `tox`.
This will run the tests provided by [`docker-registry-core`](https://github.com/dotcloud/docker-registry/tree/master/depends/docker-registry-core)
[pypi-url]: https://pypi.python.org/pypi/docker-registry-driver-elliptics
[pypi-image]: https://badge.fury.io/py/docker-registry-driver-elliptics.svg
[travis-url]: http://travis-ci.org/dmp42/docker-registry-driver-elliptics
[travis-image]: https://secure.travis-ci.org/dmp42/docker-registry-driver-elliptics.png?branch=master
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for docker-registry-driver-elliptics-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 411516b30e86b142d71439801ae3b288288b3d0e83b762254edf57f806024a7b |
|
MD5 | 22ee22cc47ebfd602510d226a6436fc9 |
|
BLAKE2b-256 | f030cc23ce7ade5c756d55445071f9886734d87a44be9b61d9040a6fc140094e |