Metadata-Version: 2.1
Name: superhooks
Version: 0.5
Summary: superhooks plugin for supervisord
Home-page: https://github.com/skyrocknroll/superhooks
Author: Yuvaraj Loganathan
Author-email: uvaraj6@gmail.com
Maintainer: Yuvaraj Loganathan
Maintainer-email: uvaraj6@gmail.com
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
Description: # Superhooks
        
        Superhooks is a supervisor "event listener" that sends events from processes that run under [supervisor](http://supervisord.org) to predefined web hooks. When `superhooks` receives an event, it sends a message notification to a configured URL.
        
        `superhooks` uses [requests](https://2.python-requests.org/en/master/#) full-featured Python http requests library.
        
        ## Installation
        
        ```
        pip install superhooks
        ```
        
        ## Command-Line Syntax
        
        ```bash
        $ superhooks  -u http://localhost:8090/ -e STARTING,RUNNING,BACKOFF,STOPPING,FATAL,EXITED,STOPPED,UNKNOWN -d "a^b^^c^d" -H "p^q^^r^s" 
        ```
        
        ### Options
        
        ```-u URL, --url=http://localhost:8090/```
        
        Post the payload to the url with http `POST`
        
        ```-d DATA, --data=a^b^^c^d``` post body data as key value pair items are separated by `^^` and key and values are separated by `^`
        
        ```-H HEADERS, --headers=p^q^^r^s``` request headers with as key value pair items are separated by `^^` and key and values are separated by `^`
        
        ```-e EVENTS, --event=EVENTS```
        
        The Supervisor Process State event(s) to listen for. It can be any, one of, or all of
        STARTING, RUNNING, BACKOFF, STOPPING, EXITED, STOPPED, UNKNOWN.
        
        ## Configuration
        An `[eventlistener:x]` section must be placed in `supervisord.conf` in order for `superhooks` to do its work. See the “Events” chapter in the Supervisor manual for more information about event listeners.
        
        The following example assume that `superhooks` is on your system `PATH`.
        
        ```
        [eventlistener:superhooks]
        command=python /usr/local/bin/superhooks -u http://localhost:8090/ -e BACKOFF,FATAL,EXITED,UNKNOWN -d "a^b^^c^d" -H "p^q^^r^s"
        events=PROCESS_STATE,TICK_60
        
        ```
        ### The above configuration  will produce following payload for an crashing process named envoy
        
        ```
        POST / HTTP/1.1
        Host: localhost:8090
        Accept: */*
        Accept-Encoding: gzip, deflate
        Connection: keep-alive
        Content-Length: 177
        Content-Type: application/x-www-form-urlencoded
        P: q
        R: s
        User-Agent: python-requests/2.12.1
        
        from_state=RUNNING&a=b&c=d&event_name=PROCESS_STATE_EXITED&process_name=cat%3Ameow&pheaders_all=from_state%3ARUNNING+processname%3Ameow+pid%3A25232+expected%3A0+groupname%3Acat+
        ```
        
        ### Notes
        * All the events will be buffered for 1 min and pushed to web hooks. 
        
        ### Development 
        * Modify the changes.
        * Execute `python setup.py publish` 
        
        
        0.5 (2019-05-11)
        ----------------
        - Sending the complete supervisor data under the key name `pheaders_all`.
        
        0.4 (2019-05-11)
        ----------------
        - Switched from semicolon(;) to cap(^) as separator
        
        0.2 (2019-05-11)
        ----------------
        - Fixed Readme
        
        0.1 (2019-05-11)
        ----------------
        - Initial release
        
Keywords: supervisor web hooks monitoring
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: System :: Boot
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Systems Administration
Description-Content-Type: text/markdown
