Metadata-Version: 2.0
Name: drydock
Version: 0.5.2
Summary: A Docker cluster construction utility.
Home-page: https://github.com/Nekroze/drydock
Author: Taylor "Nekroze" Lawson
Author-email: nekroze@eturnilnetwork.com
License: MIT
Keywords: drydock
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: pyyaml (>=3.10)
Requires-Dist: docopt (>=0.6.1)
Requires-Dist: six (>=1.5.2)
Requires-Dist: docker-py (>=0.3.0)

=======
DryDock
=======

.. image:: https://badge.fury.io/py/drydock.png
    :target: http://badge.fury.io/py/drydock

.. image:: https://travis-ci.org/Nekroze/drydock.png?branch=master
    :target: https://travis-ci.org/Nekroze/drydock

.. image:: https://pypip.in/d/drydock/badge.png
    :target: https://pypi.python.org/pypi/drydock

A Docker cluster construction utility.

DryDock takes a simple (YAML_) specification file then can construct and
configure a cluster of Docker_ containers. DryDock will automatically
setup a reverse proxy, exposure of ports, and even persistent storage to
allow for easy future upgrading by simply rebuilding the DryDock
specification!

Features
--------

* Simple YAML_ configuration.
* Automatic Docker_ cluster provisioning/configuration
* Nginx_ reverse proxy configuration with HTTPS/SSL support
* Easy setup for persistent volumes.
* Share your DryDock specifications with the world.
* Container supervisor utilizing the Docker_ API.

TODO
----

* Provide a better update path, specific update commands, custom pre-post.
* Container monitoring, ensure a container is working else reconstruct it.
* Better support for stateless-ness and volumes
* Better unittest coverage.
* Ability to provide a custom docker images repository for master containers.
* An external facing DNS server or config generation.
* Control over a master container cluster, Drydock as a Service?.
* Web interface for control, logging and monitoring. Far future.

.. _Nginx: http://wiki.nginx.org/
.. _YAML: http://wikipedia.org/wiki/YAML
.. _Docker: https://www.docker.io/


Documentation
-------------

The full documentation is at http://dry-dock.readthedocs.org.



History
-------

0.5.2 (16-03-2014)
++++++++++++++++++

* Fix: master containers nginx sites are now read write.

0.5.1 (15-03-2014)
++++++++++++++++++

* Added: Customize your network interfaces, ips, and dns from cli.
* Fix: cleaned up template storage to allow manipulation.

0.5.0 (15-03-2014)
++++++++++++++++++

.. warning::
This release has a major emphasis on the ``master`` command and containers
and is released early to facilitate testing.

* Changed: ``master`` command now takes a specification to automatically
build it.
* Removed: any usage of ``supervisord`` in favor of the new
``drydock supervisor``.

0.4.3 (12-03-2014)
++++++++++++++++++

* Fix: use ``--name`` for naming containers for future proofing.
* Fix: use ``--dns`` for future proofing.

0.4.2 (11-03-2014)
++++++++++++++++++

* Fix: allow self connections to the host when nginx blocks external.

0.4.1 (09-03-2014)
++++++++++++++++++

* Fix: check for config files before removing them.
* Fix: ``supervise`` command will now recreate the nginx container each run.

0.4.0 (08-03-2014)
++++++++++++++++++


* Added: ``supervise`` command line command. DryDock has its own supervisor!
* Added: ``start`` and ``stop`` command line commands.
* Added: ``data`` in subcontainer specification maps volumes at
``/mnt/drydock``.
* Fix: All containers are passed their FQDN as their hostname
* Fix: ``pull`` command also grabs the containers required for the
``prepare`` command.
* Fix: Pass host timezone to subcontainers.
* Fix: volumes now go map to ``/var/lib/{domain}/{name}/``.

0.3.0 (28-02-2014)
++++++++++++++++++

* Added: reports at the end of running all the major commands.
* Added: ``envs`` to specification for environment variable definitions.
* Added: ``command`` to specification for run command definition.
* Added: ``pull`` command to download all images required for the
specification.
* Added ``specification`` to specification for external specification links.

0.2.0 (25-02-2014)
++++++++++++++++++

* Added: supervisor config writing is now an option.
* Added: deconstruct command to remove a specification.

0.1.0 (25-02-2014)
++++++++++++++++++

* First release on PyPI.


