-
Notifications
You must be signed in to change notification settings - Fork 3
/
schema.json
135 lines (135 loc) · 3.71 KB
/
schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "Healthchecks"
},
"paths": {
"/healthcheck": {
"get": {
"summary": "Health Check endpoint",
"description": "Each Kasper service must have an endpoint where the health of the service instance can be monitored",
"operationId": "getServiceInstanceHealth",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "Health Check",
"schema": {
"$ref": "#/definitions/ServiceInstanceHealthDto"
}
}
}
}
}
},
"definitions": {
"DependentOnDto": {
"type": "object",
"required": [
"service_name"
],
"properties": {
"service_name": {
"type": "string",
"description": "The name of the service or infrastructure component that this check depends on."
}
}
},
"HealthCheckResponseDto": {
"type": "object",
"required": [
"actionable",
"healthy",
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the check."
},
"healthy": {
"type": "boolean",
"description": "healthy: true|false."
},
"type": {
"type": "string",
"description": "The type of this check.",
"enum": [
"SELF",
"METRICS",
"INFRASTRUCTURE",
"INTERNAL_DEPENDENCY",
"EXTERNAL_DEPENDENCY",
"INTERNET_CONNECTIVITY"
]
},
"dependent_on": {
"description": "Describes which service this check depends on. Mandatory for types 'INFRASTRUCTURE', 'INTERNAL_DEPENDENCY' and 'EXTERNAL_DEPENDENCY', excluded otherwise.",
"$ref": "#/definitions/DependentOnDto"
},
"severity": {
"type": "string",
"description": "Mandatory if the check is not healthy, excluded otherwise.",
"enum": [
"WARNING",
"CRITICAL",
"DOWN'"
]
},
"actionable": {
"type": "boolean",
"description": "Describes whether or not this team can take any action when the check is unhealthy"
},
"message": {
"type": "string",
"description": "A message describing the status of the check. Mandatory if unhealthy."
},
"link": {
"type": "string",
"description": "A link to where more information can be gotten."
},
"additional_info": {
"type": "object",
"description": " Additional information about this check. Monks Does not care about it, it's just pass through for end users!",
"additionalProperties": {
"type": "object"
}
},
"tags": {
"type": "array",
"description": "List of tags for the service that can be used group multiple services together.",
"items": {
"type": "string"
}
}
}
},
"ServiceInstanceHealthDto": {
"type": "object",
"required": [
"healthy",
"unhealthy"
],
"properties": {
"unhealthy": {
"type": "array",
"description": "List of unhealthy checks.",
"items": {
"$ref": "#/definitions/HealthCheckResponseDto"
}
},
"healthy": {
"type": "array",
"description": "List of healthy checks.",
"items": {
"$ref": "#/definitions/HealthCheckResponseDto"
}
}
}
}
}
}