community

merge together wellness checks to unify your shit


License
MIT
Install
pip install community==1.0.0b1

Documentation

community

merge together 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"
      }
    }
  }
}