mirror of
https://github.com/bloomberg/goldpinger.git
synced 2026-05-06 00:36:42 +00:00
179 lines
4.4 KiB
YAML
179 lines
4.4 KiB
YAML
---
|
|
swagger: '2.0'
|
|
info:
|
|
version: 1.0.0
|
|
title: Goldpinger
|
|
definitions:
|
|
CallStats:
|
|
properties:
|
|
check:
|
|
type: integer
|
|
check_all:
|
|
type: integer
|
|
ping:
|
|
type: integer
|
|
DnsResult:
|
|
properties:
|
|
response-time-ms:
|
|
type: number
|
|
format: int64
|
|
error:
|
|
type: string
|
|
DnsResults:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/DnsResult'
|
|
PingResults:
|
|
type: object
|
|
properties:
|
|
boot_time:
|
|
format: date-time
|
|
type: string
|
|
received:
|
|
$ref: '#/definitions/CallStats'
|
|
PodResult:
|
|
type: object
|
|
properties:
|
|
OK:
|
|
type: boolean
|
|
default: false
|
|
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:
|
|
dnsResults:
|
|
$ref: '#/definitions/DnsResults'
|
|
podResults:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/PodResult'
|
|
CheckAllPodResult:
|
|
type: object
|
|
properties:
|
|
OK:
|
|
type: boolean
|
|
default: false
|
|
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:
|
|
hostIP:
|
|
type: string
|
|
format: ipv4
|
|
podIP:
|
|
type: string
|
|
format: ipv4
|
|
dnsResults:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/definitions/DnsResults'
|
|
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
|
|
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'
|
|
/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'
|