Metadata-Version: 2.1
Name: supvisors
Version: 0.4
Summary: A Control System for Distributed Applications
Home-page: https://github.com/julien6387/supvisors
Author: Julien Le Cléach
Author-email: julien.6387.dev@gmail.com
License: UNKNOWN
Download-URL: https://github.com/julien6387/supvisors/archive/0.4.tar.gz
Platform: CentOS 8.3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: English
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: System :: Boot
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Software Distribution
Description-Content-Type: text/markdown
Requires-Dist: supervisor (>=4.2.1)
Requires-Dist: pyzmq (>=20.0.0)
Provides-Extra: all
Requires-Dist: netifaces (>=0.10.9) ; extra == 'all'
Requires-Dist: psutil (>=5.7.3) ; extra == 'all'
Requires-Dist: matplotlib (>=3.3.3) ; extra == 'all'
Requires-Dist: lxml (>=4.6.2) ; extra == 'all'
Provides-Extra: ip_address
Requires-Dist: netifaces (>=0.10.9) ; extra == 'ip_address'
Provides-Extra: statistics
Requires-Dist: psutil (>=5.7.3) ; extra == 'statistics'
Requires-Dist: matplotlib (>=3.3.3) ; extra == 'statistics'
Provides-Extra: testing
Requires-Dist: pytest (>=2.5.2) ; extra == 'testing'
Requires-Dist: pytest-cov ; extra == 'testing'
Provides-Extra: xml_valid
Requires-Dist: lxml (>=4.6.2) ; extra == 'xml_valid'

# **Supvisors**

**Supvisors** is a Control System for Distributed Applications, based on
multiple instances of Supervisor.

The main features are:
   * a new web-based dashboard that replaces the default dashboard of Supervisor,
   * an extended XML-RPC API to control applications and multiple Supervisor instances,
   * the definition of a rules file to handle:
      * the starting sequence of the applications,
      * the stopping sequence of the applications,
      * the starting strategy of the processes,
      * the strategy to apply when a process crashes.

![Image of Supvisors' Dashboard](https://github.com/julien6387/supvisors/blob/master/docs/images/supvisors_address_process_section.png)

## Supervisor Enhancements

By design, **Supvisors** proposes a fix to the following Supervisor issues:
   * [#122 - supervisord Starts All Processes at the Same Time](https://github.com/Supervisor/supervisor/issues/122)
   * [#456 - Add the ability to set different "restart policies" on process workers](https://github.com/Supervisor/supervisor/issues/456)
   * [#520 - allow a program to wait for another to stop before being stopped?](https://github.com/Supervisor/supervisor/issues/520)
   * [#1023 - Pass arguments to program when starting a job?](https://github.com/Supervisor/supervisor/issues/1023)

## Supported Platforms

**Supvisors** has been tested and is known to run on Linux (CentOS 8.3).
It will likely work fine on most UNIX systems.

**Supvisors** will not run at all under any version of Windows.

**Supvisors** >= 0.2 works with Python 3.6 or later.

**Supvisors** 0.1 (available on PyPi) works with Python 2.7 (and former versions of Supervisor, i.e. 3.3.0)
but is not maintained anymore.

[![Build Status](https://travis-ci.org/julien6387/supvisors.svg?branch=master)](https://travis-ci.org/julien6387/supvisors)

## Dependencies

**Supvisors** has dependencies on:

Package    | Release    | Optional
-----------|------------|---------
Supervisor | 4.2.1      |
PyZMQ      | 20.0.0     |
psutil     | 5.7.3      |     X
netifaces  | 0.10.9     |     X
matplotlib | 3.3.3      |     X
lxml       | 4.6.2      |     X


Please note that some of these dependencies may have their own dependencies.

Versions are given for information.
Although **Supvisors** has been developed and tested with these releases,
the minimal release of each dependency is unknown.
Other releases are likely working as well.


## Installation

Supvisors can be installed with `pip install`:

```bash
   # minimal install (including Supervisor and PyZMQ)
   [bash] > pip install supvisors

   # extra install for all optional dependencies
   [bash] > pip install supvisors[all]
```

## Documentation

You can view the current **Supvisors** documentation [here](http://supvisors.readthedocs.io).

[![Documentation Status](https://readthedocs.org/projects/supvisors/badge/?version=master)](https://supvisors.readthedocs.io/en/master/?badge=master)

You will find detailed installation and configuration documentation.

## Reporting Bugs and Viewing the Source Repository

Please report bugs in the [Github issue tracker](https://github.com/julien6387/supvisors/issues).

You can view the [source repository](https://github.com/julien6387/supvisors) for Supvisors.

## Contributing

Not opened yet.


0.4 (2021-02-14)
----------------

* Auto-refresh button added to all pages

* Main page reworked by adding a subdivision of application in node boxes

* Fixed exception when exiting using Ctrl+c from shell

* Fixed exception when rules files is not provided

* Documentation updated


0.3 (2020-12-29)
----------------

* Fixed https://github.com/julien6387/supvisors/issues/81
  When Supvisors logfile is set to AUTO, Supvisors uses the same logger as Supervisor

* Fixed https://github.com/julien6387/supvisors/issues/79
  When FATAL or UNKNOWN Process state is forced by Supvisors, spawnerr was missing in the listener payload

* Documentation updated

* Useless folder rsc_ref deleted

* 'design' folder moved to a dedicated GitHub repository

* 100% coverage reached in unit tests.


0.2 (2020-12-14)
----------------

* Migration to Python 3.6
  Versions of dependencies are refreshed, more particularly supervisor 4.2.1

* CSS of Web UI updated / simplified

* New action added to Host Process page of WebUI
  'tail -f stderr' button

* New information actions added to Application page of WebUI
  'description' field
  'clear logs', 'tail -f stdout', 'tail -f stderr' buttons

* Fixed https://github.com/julien6387/supvisors/issues/75
  Supvisors takes into account username and password of inet_http_server in the supervisord section

* Fixed https://github.com/julien6387/supvisors/issues/17
  The user selections on the web UI are passed to the URL

* Fixed https://github.com/julien6387/supvisors/issues/72
  The extra arguments are shared between all Supvisors instances

* Documentation formatting issues fixed

* README.rst replaced with README.md

* Coverage improved in tests

* Docs target added to Travis-CI


0.1 (2017-08-11)
----------------

Initial release.


