Skip to content

Latest commit

 

History

History
99 lines (73 loc) · 3.47 KB

File metadata and controls

99 lines (73 loc) · 3.47 KB

Docker registry elliptics driver

This is a docker-registry backend driver based on the Elliptics key-value storage.

PyPI version Build Status Coverage Status Downloads

Usage

Assuming you have a working docker-registry and elliptics setup.

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. Endpoint is host:port:af. af is address family as number. Use 2 for IPv4, 10 for IPv6
  2. elliptics_wait_timeout: time to wait for the operation complete
  3. elliptics_check_timeout: timeout for pinging node
  4. elliptics_io_thread_num: number of IO threads in processing pool
  5. elliptics_net_thread_num: number of threads in network processing pool
  6. elliptics_nonblocking_io_thread_num: number of IO threads in processing pool dedicated to nonblocking ops
  7. elliptics_groups: Elliptics groups registry should use
  8. elliptics_verbosity: Elliptics logger verbosity info|debug|notice|data|error
  9. elliptics_logfile: path to Elliptics logfile (default: dev/stderr)
  10. elliptics_node_flags: names of flags for Node

Example:

elliptics:
      <<: *common
      storage: elliptics
      elliptics_nodes: [
            "elliptics-host1:1025:2",
            "elliptics-host2:1025:10",
            ...
            "host:port:af" ] # or spaceseparated string
      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: "debug"
      elliptics_logfile: "/tmp/logfile.log"
      elliptics_node_flags: ["mix_stats", "no_csum"]

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

License

This is licensed under the Apache license. Most of the code here comes from docker-registry, under an Apache license as well.