community


Namecommunity JSON
Version 1.0.0b1 PyPI version JSON
download
home_pagehttps://github.com/ewdurbin/community
Summarymerge together wellness checks to unify your shit
upload_time2014-08-21 22:27:47
maintainerNone
docs_urlNone
authorErnest W. Durbin III
requires_pythonNone
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            community
=========

merge together [wellness](https://github.com/warmwaffles/wellness) compatible
checks to build a unified view of your conglomerated services

Routes
------

- ``/health/status``

    * returns as wellness does, but does not handle `DEGRADED` status

- ``/health/details``

    * returns a wellness like `status`, `services`, `details` hash with combined `services` and `details` dictionaries by `name`

Configuraiton
-------------

`community` accepts one and only one environment variable!

- ``COMMUNITY_MEMBERS``: a ``|`` separated list of ``,`` separated (name, health url) pairs
  * example: ``core-api,https://core.example.com/health|user-api,https://user.example.com/health`` will produce approximately this output

::

    $ curl conglomo.example.com/health/status                                   
    {"status":"HEALTHY"}                                                        
    $ curl conglomo.example.com/health/details                                  
    {                                                                           
      "status": "HEALTHY",                                                      
      "services": {                                                             
        "core-api": {                                                           
          "mysql": {                                                            
            "status": "HEALTHY",                                                
            "details": {}                                                       
          }                                                                     
        },                                                                      
        "user-api": {                                                           
          "database": {                                                         
            "status": "HEALTHY",                                                
            "details": {}                                                       
          },                                                                    
          "sidekiq": {                                                          
            "status": "HEALTHY",                                                
            "details": {                                                        
              "busy": 0,                                                        
              "default_latency": 104502.181265831,                              
              "enqueued": 290,                                                  
              "failed": 6045,                                                   
              "processed": 10982,                                               
              "redis": {                                                        
                "connected_clients": "158",                                     
                "uptime_in_days": "224",                                        
                "used_memory_human": "4.19M",                                   
                "used_memory_peak_human": "8.14M"                               
              },                                                                
              "retries": 3,                                                     
              "scheduled": 0                                                    
            }                                                                   
          }                                                                     
        }                                                                       
      },                                                                        
      "details": {                                                              
        "core-api": {                                                           
          "git": {                                                              
            "revision": "deadbeef"                                              
          }                                                                     
        },                                                                      
        "user-api": {                                                           
          "git": {                                                              
            "revision": "deadbeef"                                              
          }                                                                     
        }                                                                       
      }                                                                         
    }
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ewdurbin/community",
    "name": "community",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Ernest W. Durbin III",
    "author_email": "ewdurbin@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e7/7b/6d1d5efe9518b73b61466607acd66e8d0463b8085c56253974d2c23d4b48/community-1.0.0b1.tar.gz",
    "platform": "UNKNOWN",
    "description": "community\n=========\n\nmerge together [wellness](https://github.com/warmwaffles/wellness) compatible\nchecks to build a unified view of your conglomerated services\n\nRoutes\n------\n\n- ``/health/status``\n\n    * returns as wellness does, but does not handle `DEGRADED` status\n\n- ``/health/details``\n\n    * returns a wellness like `status`, `services`, `details` hash with combined `services` and `details` dictionaries by `name`\n\nConfiguraiton\n-------------\n\n`community` accepts one and only one environment variable!\n\n- ``COMMUNITY_MEMBERS``: a ``|`` separated list of ``,`` separated (name, health url) pairs\n  * example: ``core-api,https://core.example.com/health|user-api,https://user.example.com/health`` will produce approximately this output\n\n::\n\n    $ curl conglomo.example.com/health/status                                   \n    {\"status\":\"HEALTHY\"}                                                        \n    $ curl conglomo.example.com/health/details                                  \n    {                                                                           \n      \"status\": \"HEALTHY\",                                                      \n      \"services\": {                                                             \n        \"core-api\": {                                                           \n          \"mysql\": {                                                            \n            \"status\": \"HEALTHY\",                                                \n            \"details\": {}                                                       \n          }                                                                     \n        },                                                                      \n        \"user-api\": {                                                           \n          \"database\": {                                                         \n            \"status\": \"HEALTHY\",                                                \n            \"details\": {}                                                       \n          },                                                                    \n          \"sidekiq\": {                                                          \n            \"status\": \"HEALTHY\",                                                \n            \"details\": {                                                        \n              \"busy\": 0,                                                        \n              \"default_latency\": 104502.181265831,                              \n              \"enqueued\": 290,                                                  \n              \"failed\": 6045,                                                   \n              \"processed\": 10982,                                               \n              \"redis\": {                                                        \n                \"connected_clients\": \"158\",                                     \n                \"uptime_in_days\": \"224\",                                        \n                \"used_memory_human\": \"4.19M\",                                   \n                \"used_memory_peak_human\": \"8.14M\"                               \n              },                                                                \n              \"retries\": 3,                                                     \n              \"scheduled\": 0                                                    \n            }                                                                   \n          }                                                                     \n        }                                                                       \n      },                                                                        \n      \"details\": {                                                              \n        \"core-api\": {                                                           \n          \"git\": {                                                              \n            \"revision\": \"deadbeef\"                                              \n          }                                                                     \n        },                                                                      \n        \"user-api\": {                                                           \n          \"git\": {                                                              \n            \"revision\": \"deadbeef\"                                              \n          }                                                                     \n        }                                                                       \n      }                                                                         \n    }",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "merge together wellness checks to unify your shit",
    "version": "1.0.0b1",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "d1bedeb84cfc9929e04d3df960f9df50",
                "sha256": "a7511f105ed04d28f2df09f4bab465592405eca3b6c625b19b112c4f15e78505"
            },
            "downloads": -1,
            "filename": "community-1.0.0b1.tar.gz",
            "has_sig": false,
            "md5_digest": "d1bedeb84cfc9929e04d3df960f9df50",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 2173,
            "upload_time": "2014-08-21T22:27:47",
            "upload_time_iso_8601": "2014-08-21T22:27:47.268966Z",
            "url": "https://files.pythonhosted.org/packages/e7/7b/6d1d5efe9518b73b61466607acd66e8d0463b8085c56253974d2c23d4b48/community-1.0.0b1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2014-08-21 22:27:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "ewdurbin",
    "github_project": "community",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "community"
}
        
Elapsed time: 0.03628s