Skip to main content

No project description provided

Project description

## Shepherd

Shepherd provides a system for configuring and launching clusters (or flocks) of Docker containers.

Feature include:
  • YAML definition of each “flock” including environment, volumes, external networks.

  • API and HTTP API for starting, stopping, pausing and resuming instances of each flock.

  • User overrides, including environment variables and ‘descendant’ images

  • Multiple pools for managing running flocks/

  • Queuing with fixed pool size and queing (fixed size pool)

  • Persistent pool for time-slicing flock execution.

### Comparison to Docker Compose

The flock format is inspired by compose and supports a limited subset of compose spec. Unlike with Compose, which runs a single docker-compose.yml at a time, the intent of Shepherd is to manage multiple instances of each available flock, and to schedule their execution. Each instance is given a unique id which can be used to refer to the instance.

### Use Cases and Test Suite

This library does not include any specific flocks and is designed to be as generic as possible.

It only uses very small public Docker containers for the test suite, which can be run via: python setup.py test after installing with python setup.py install

For an example implementation that uses Shepherd and additional flock definitions, see https://github.com/oldweb-today/browser-shepherd

### Other dependencies

Besides Docker, Shepherd relies on Redis to store internal state (though can be used with an in-memory ‘fake’ redis as well).

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

shepherd-1.0.1.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

shepherd-1.0.1-py2.py3-none-any.whl (16.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file shepherd-1.0.1.tar.gz.

File metadata

  • Download URL: shepherd-1.0.1.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.1

File hashes

Hashes for shepherd-1.0.1.tar.gz
Algorithm Hash digest
SHA256 cb9936fca3f6b5381e5ce31c210a78e4497359cdd8367d1ff5293d842c88c319
MD5 3ea77eba3a5051ae474566eca6731940
BLAKE2b-256 f58294516a7f7a018d6687b085f13bc4258d52a06e48a5b4239f8ae1e1cab07c

See more details on using hashes here.

File details

Details for the file shepherd-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: shepherd-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.1

File hashes

Hashes for shepherd-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8dec7588c468d062474e1b88cd525e91067fbbce8495eccbcb02db44594d1426
MD5 298ade48072b4980b55cdb223d32c3b1
BLAKE2b-256 22d77003b535ee985f180c7c03036cda3698c431032ddfa0101df3b91751cb59

See more details on using hashes here.

Supported by

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