orbitalci / orbital

Orbital is a self-hosted CI system for solo/small consulting dev teams. Written in Rust.
GNU General Public License v3.0
29 stars 2 forks source link

health endpoint #51

Open shankj3 opened 6 years ago

shankj3 commented 6 years ago

create health endpoint for all ocelot services that has at least:

{
    "status":"OK",
    "description": "",
    "serviceName": "poller",
    "version": "",
    "startTime": "",
    "dependencies": [
      {
         "name": "postgres",
         "url": "dbconnectionurl here: postgresIp:postgresPort",
         "status": "Green",
         "significance": "if unreachable, no new builds would be triggered",
         "lastUpdated": "2018-02-08T00:21:34+0000"
      },
     {
         "name": "nsq",
         "url": "http://nsq.io",
         "status": "Green",
         "significance": "if unreachable, no new builds would be triggered",
         "lastUpdated": "2018-02-08T00:21:34+0000"
      },
    ]
}
tjtelan commented 5 years ago

I go back and forth with this, since it is a L11 pattern to have health endpoints. But with Kubernetes splitting health into "healthy" and "ready", I would rather have something that makes that easier.

For now, I'd rather use Consul/Kubernetes to do the health checks. We can go back to thinking about dependency health checks later when things are detangled.