Skip to main content

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

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

docker-registry-driver-elliptics-0.0.2.tar.gz (10.6 kB view details)

Uploaded Source

File details

Details for the file docker-registry-driver-elliptics-0.0.2.tar.gz.

File metadata

File hashes

Hashes for docker-registry-driver-elliptics-0.0.2.tar.gz
Algorithm Hash digest
SHA256 411516b30e86b142d71439801ae3b288288b3d0e83b762254edf57f806024a7b
MD5 22ee22cc47ebfd602510d226a6436fc9
BLAKE2b-256 f030cc23ce7ade5c756d55445071f9886734d87a44be9b61d9040a6fc140094e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page