mirror of
https://github.com/bloomberg/goldpinger.git
synced 2026-02-14 18:09:50 +00:00
Signed-off-by: kitfoman <thaddeusgetachew@gmail.com> make timeout flags backwards compatible Signed-off-by: kitfoman <thaddeusgetachew@gmail.com>
234 lines
5.6 KiB
YAML
234 lines
5.6 KiB
YAML
---
|
|
swagger: '2.0'
|
|
info:
|
|
version: 3.0.0
|
|
title: Goldpinger
|
|
definitions:
|
|
CallStats:
|
|
properties:
|
|
check:
|
|
type: integer
|
|
check_all:
|
|
type: integer
|
|
ping:
|
|
type: integer
|
|
ProbeResult:
|
|
properties:
|
|
response-time-ms:
|
|
type: number
|
|
format: int64
|
|
error:
|
|
type: string
|
|
protocol:
|
|
type: string
|
|
ProbeResults:
|
|
type: object
|
|
additionalProperties:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/ProbeResult'
|
|
PingResults:
|
|
type: object
|
|
properties:
|
|
boot_time:
|
|
format: date-time
|
|
type: string
|
|
received:
|
|
$ref: '#/definitions/CallStats'
|
|
PodResult:
|
|
type: object
|
|
properties:
|
|
OK:
|
|
type: boolean
|
|
default: false
|
|
PingTime:
|
|
format: date-time
|
|
type: string
|
|
PodIP:
|
|
type: string
|
|
format: ipv4
|
|
HostIP:
|
|
type: string
|
|
format: ipv4
|
|
response:
|
|
$ref: '#/definitions/PingResults'
|
|
error:
|
|
type: string
|
|
status-code:
|
|
type: integer
|
|
format: int32
|
|
response-time-ms:
|
|
type: number
|
|
format: int64
|
|
description: wall clock time in milliseconds
|
|
CheckResults:
|
|
type: object
|
|
properties:
|
|
probeResults:
|
|
$ref: '#/definitions/ProbeResults'
|
|
podResults:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/PodResult'
|
|
CheckAllPodResult:
|
|
type: object
|
|
properties:
|
|
OK:
|
|
type: boolean
|
|
default: false
|
|
PodIP:
|
|
type: string
|
|
format: ipv4
|
|
HostIP:
|
|
type: string
|
|
format: ipv4
|
|
response:
|
|
$ref: '#/definitions/CheckResults'
|
|
error:
|
|
type: string
|
|
status-code:
|
|
type: integer
|
|
format: int32
|
|
CheckAllResults:
|
|
type: object
|
|
properties:
|
|
OK:
|
|
type: boolean
|
|
default: false
|
|
hosts-healthy:
|
|
type: integer
|
|
format: int32
|
|
hosts-number:
|
|
type: integer
|
|
format: int32
|
|
hosts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
podName:
|
|
type: string
|
|
hostIP:
|
|
type: string
|
|
format: ipv4
|
|
podIP:
|
|
type: string
|
|
format: ipv4
|
|
probeResults:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/ProbeResults'
|
|
responses:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/CheckAllPodResult'
|
|
HealthCheckResults:
|
|
type: object
|
|
properties:
|
|
OK:
|
|
type: boolean
|
|
default: false
|
|
generated-at:
|
|
type: string
|
|
format: date-time
|
|
duration-ns:
|
|
type: integer
|
|
format: int64
|
|
ClusterHealthResults:
|
|
type: object
|
|
properties:
|
|
OK:
|
|
type: boolean
|
|
default: false
|
|
nodesHealthy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
nodesUnhealthy:
|
|
type: array
|
|
items:
|
|
type: string
|
|
nodesTotal:
|
|
type: integer
|
|
format: int64
|
|
generated-at:
|
|
type: string
|
|
format: date-time
|
|
duration-ns:
|
|
type: integer
|
|
format: int64
|
|
required:
|
|
- OK
|
|
paths:
|
|
/ping:
|
|
get:
|
|
description: return query stats
|
|
produces:
|
|
- application/json
|
|
operationId: ping
|
|
responses:
|
|
200:
|
|
description: return success
|
|
schema:
|
|
$ref: '#/definitions/PingResults'
|
|
/check:
|
|
get:
|
|
description: Queries the API server for all other pods in this service,
|
|
and pings them via their pods IPs. Calls their /ping endpoint
|
|
produces:
|
|
- application/json
|
|
operationId: checkServicePods
|
|
responses:
|
|
200:
|
|
description: Success, return response
|
|
schema:
|
|
$ref: '#/definitions/CheckResults'
|
|
/check_all:
|
|
get:
|
|
description: Queries the API server for all other pods in this service,
|
|
and makes all of them query all of their neighbours,
|
|
using their pods IPs. Calls their /check endpoint.
|
|
produces:
|
|
- application/json
|
|
operationId: checkAllPods
|
|
responses:
|
|
200:
|
|
description: Success, return response
|
|
schema:
|
|
$ref: '#/definitions/CheckAllResults'
|
|
/cluster_health:
|
|
get:
|
|
description: Checks the full graph. Returns a binary OK or not OK.
|
|
produces:
|
|
- application/json
|
|
operationId: clusterHealth
|
|
responses:
|
|
200:
|
|
description: Healthy cluster
|
|
schema:
|
|
$ref: '#/definitions/ClusterHealthResults'
|
|
418:
|
|
description: Unhealthy cluster
|
|
schema:
|
|
$ref: '#/definitions/ClusterHealthResults'
|
|
/healthz:
|
|
get:
|
|
description: The healthcheck endpoint provides detailed information about
|
|
the health of a web service. If each of the components required
|
|
by the service are healthy, then the service is considered healthy
|
|
and will return a 200 OK response. If any of the components needed
|
|
by the service are unhealthy, then a 503 Service Unavailable
|
|
response will be provided.
|
|
produces:
|
|
- application/json
|
|
operationId: healthz
|
|
responses:
|
|
200:
|
|
description: Health check report
|
|
schema:
|
|
$ref: '#/definitions/HealthCheckResults'
|
|
503:
|
|
description: Unhealthy service
|
|
schema:
|
|
$ref: '#/definitions/HealthCheckResults'
|