HitchServe
==========

HitchServe is a UNIX service orchestration plugin for the Hitch testing
framework.

Features
--------

* Start a group of services in parallel by using a simple, declarative API.
* Aggregates logs from all the services it runs and prints them together, labeled.
* Provides API to print logs, tail logs, tail logs and 'listen' for specific lines.
* Provides an API to auto-convert JSON log lines into JSON and to tail and listen for specific properties.
* Shuts down all services cleanly. Asks politely first with a configurable signal (default: SIGTERM).
* If the shutdown timeout is exceeded, sends SIGKILL to a misbehaving process and all of its children and grandchildren.
* Runs services with libfaketime and provides an API to change the time sent to their APIs.
* Provides an API call to listen for and connect to any process's IPython kernel.

Install
-------

Install into a hitch environment like so::

    $ hitch install hitchserve

Docs
----

* `Full hitch documentation <https://hitchtest.readthedocs.org/en/latest/>`_
* `hitchserve-specific API docs <https://hitchtest.readthedocs.org/en/latest/api/generic_service_api.html>`_
