Metadata-Version: 2.1
Name: supvisors
Version: 0.6
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.6.tar.gz
Description: # **Supvisors**
        [![PyPI version][pypi-image]][pypi-url] [![Build Status][ci-image]][ci-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Documentation Status][docs-image]][docs-url]
        
        
        **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
        
        **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)
           * [#874 - Bring down one process when other process gets killed in a group](https://github.com/Supervisor/supervisor/issues/874)
           * [#1023 - Pass arguments to program when starting a job?](https://github.com/Supervisor/supervisor/issues/1023)
           * [#1150 - Why do event listeners not report the process exit status when stopped/crashed?](https://github.com/Supervisor/supervisor/issues/1150)
        
        ## 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.
        
        ## Dependencies
        
        **Supvisors** has dependencies on:
        
        Package                                             | Release    | Optional
        ----------------------------------------------------|------------|---------
        [Supervisor](http://supervisord.org)                | 4.2.1      |
        [PyZMQ](http://pyzmq.readthedocs.io)                | 20.0.0     |
        [psutil](https://pypi.python.org/pypi/psutil)       | 5.7.3      |     X
        [netifaces](https://pypi.python.org/pypi/netifaces) | 0.10.9     |     X
        [matplotlib](http://matplotlib.org)                 | 3.3.3      |     X
        [lxml](http://lxml.de)                              | 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).
        
        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.
        
        [pypi-image]: https://badge.fury.io/py/supvisors.svg
        [pypi-url]: https://badge.fury.io/py/supvisors
        
        [ci-image]: https://travis-ci.org/julien6387/supvisors.svg?branch=master
        [ci-url]: https://travis-ci.org/julien6387/supvisors?branch=master
        
        [coveralls-image]: https://coveralls.io/repos/github/julien6387/supvisors/badge.svg?branch=master
        [coveralls-url]: https://coveralls.io/github/julien6387/supvisors?branch=master
        
        [docs-image]: https://readthedocs.org/projects/supvisors/badge/?version=master
        [docs-url]: https://supvisors.readthedocs.io/en/master
        
        
        Change Log
        ==========
        
        0.6 (2021-08-01)
        ----------------
        
        * Improve **Supvisors** stability when dealing with remote programs undefined locally.
        
        * Add expand / shrink actions to applications to the ``ProcAddressView`` of the Web UI.
        
        * Upon authorization of a new node in **Supvisors**, back to ``DEPLOYMENT`` state to repair applications.
        
        * Add RPC ``change_log_level`` to dynamically change the **Supvisors** log level.
        
        * Application state is evaluated only against the starting sequence of its processes.
        
        * Fixed blocking when *Master* is stopped while in ``DEPLOYMENT`` state.
        
        * Fixed issue with applications that would not fully stop when using the ``STOP_APPLICATION`` starting failure strategy.
        
        * Fixed issue related to `Issue #85 <https://github.com/julien6387/supvisors/issues/85>`_.
          An exception was raised when the program ``procnum`` was greater than the list of applicable nodes.
        
        * Fixed `Issue #91 <https://github.com/julien6387/supvisors/issues/91>`_.
          Fix CSS style on the process tables in HTML.
        
        * Fixed `Issue #90 <https://github.com/julien6387/supvisors/issues/90>`_.
          The **Supvisors** *Master* node drives the transition to ``OPERATION``.
        
        * In the Web UI, set the process state color to ``FATAL`` when the process has exited unexpectedly.
        
        * Change the default expected loading to ``0`` in the program rules.
        
        * Python ``Enum`` used for enumerations (not available in Python 2.7).
        
        * Remove ``supvisors_shortcuts`` from source code to get rid of IDE warnings.
        
        * All unit tests updated from ``unittest`` to ``pytest``.
        
        * Include this Change Log to documentation.
        
        * Documentation updated.
        
        
        0.5 (2021-03-01)
        ----------------
        
        * New option ``force_synchro_if`` to force the end of the synchronization phase when a subset of nodes are active.
        
        * New starting strategy ``LOCAL`` added to command the starting of an application on the local node only.
        
        * Fixed `Issue #87 <https://github.com/julien6387/supvisors/issues/87>`_.
          Under particular circumstances, **Supvisors** could have multiple *Master* nodes.
        
        * Fixed `Issue #86 <https://github.com/julien6387/supvisors/issues/86>`_.
          The starting and stopping sequences may fail and block when a sub-sequence includes only failed programs.
        
        * Fixed `Issue #85 <https://github.com/julien6387/supvisors/issues/85>`_.
          When using ``#`` in the ``address_list`` program rule of the **Supvisors** rules file, a subset of nodes can optionally be defined.
        
        * Fixed `Issue #84 <https://github.com/julien6387/supvisors/issues/84>`_.
          In the **Supvisors** rules file, program rules can be defined using both model reference and attributes.
        
        * The Web UI uses the default starting strategy of the configuration file.
        
        * The layout of Web UI statistics sections has been rearranged.
        
        * Fixed CSS style missing for ``CHECKING`` node state in tables.
        
        * Star added to the node box of the *Master* instance on the main page.
        
        * Type annotations are added progressively in source code.
        
        * Start switching from ``unittest`` to ``pytest``.
        
        * Logs (especially ``debug`` and ``trace``) updated to remove printed objects.
        
        * Documentation updated.
        
        
        0.4 (2021-02-14)
        ----------------
        
        * Auto-refresh button added to all pages.
        
        * Web UI 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 `Issue #81 <https://github.com/julien6387/supvisors/issues/81>`_.
          When **Supvisors** logfile is set to ``AUTO``, **Supvisors** uses the same logger as **Supervisor**.
        
        * Fixed `Issue #79 <https://github.com/julien6387/supvisors/issues/79>`_.
          When ``FATAL`` or ``UNKNOWN`` Process state is forced by **Supvisors**, ``spawnerr`` was missing in the listener payload.
        
        * Useless folder ``rsc_ref`` deleted.
        
        * ``design`` folder moved to a dedicated *GitHub* repository.
        
        * 100% coverage reached in unit tests.
        
        * Documentation updated.
        
        
        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 `Issue #75 <https://github.com/julien6387/supvisors/issues/75>`_.
          **Supvisors** takes into account the ``username`` and the ``password`` of ``inet_http_server`` in the ``supervisord`` section.
        
        * Fixed `Issue #17 <https://github.com/julien6387/supvisors/issues/17>`_.
          The user selections on the web UI are passed to the URL.
        
        * Fixed `Issue #72 <https://github.com/julien6387/supvisors/issues/72>`_.
          The extra arguments are shared between all **Supvisors** instances.
        
        * ``README.rst`` replaced with ``README.md``.
        
        * Coverage improved in tests.
        
        * Docs target added to Travis-CI.
        
        * Documentation formatting issues fixed.
        
        
        0.1 (2017-08-11)
        ----------------
        
        Initial release.
        
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
Provides-Extra: ip_address
Provides-Extra: statistics
Provides-Extra: xml_valid
Provides-Extra: all
Provides-Extra: testing
