A Docker cluster construction utility.
Project description
=======
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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
drydock-0.5.2.tar.gz
(12.4 kB
view hashes)
Built Distribution
Close
Hashes for drydock-0.5.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d9a2b520e6567e789c6b317812a97bdcdafb1ce3ad94de39634ad047287046e |
|
MD5 | aac5804050f6996e37e7f365788f24c3 |
|
BLAKE2b-256 | 03f1df5e6cd4b9e570814bbac9e92db82388c487906489dc185ceba8454471c0 |