Commit 97af11b
authored
Migrate Reporter to Status Dashboard API V2 for Incident Creation (#26)
Migrate Reporter to Status Dashboard API V2 for Incident Creation
This PR migrates the reporter from Status Dashboard API V1 to V2 for sending incidents. The migration introduces component ID resolution via a cached lookup system and updates the incident data structure to match the V2 API contract.
Changes
Core Migration
Replace /v1/component_status endpoint with /v2/incidents endpoint for incident creation
Implement new V2 incident data structure with fields: title, description, impact, components, start_date, system, and type
Use static title ("System incident from monitoring system") and description ("System-wide incident affecting one or multiple components. Created automatically.") to avoid exposing sensitive operational data on the public Status Dashboard
Component Cache System
Add component cache that fetches from /v2/components at startup
Map (component name, attributes) to component ID with subset attribute matching
Auto-refresh cache when a component is not found
Retry initial cache load up to 3 times with 60-second delays
Configuration Updates
Increase HTTP timeout from 2s to 5s to accommodate V2 API response times
No changes required to existing configuration file format or authorization mechanism (HMAC-signed JWT)
Logging Enhancements
Log comprehensive diagnostic details locally: timestamp, service name, environment, component details, impact value, and triggered metrics with values
Diagnostic details are intentionally excluded from API requests for security
Behavioral Notes
Creates new incident request for every detection; relies on Status Dashboard's duplicate handling
Continues monitoring other services if incident creation fails for one service
Fails to start only if initial component cache load fails after all retries
Testing
Verify incidents are created via V2 API with correct component IDs
Verify component cache refreshes correctly when components are added
Verify existing HMAC authorization works with V2 endpoints
Reviewed-by: Ilia Bakhterev1 parent 0ba2a92 commit 97af11b
49 files changed
Lines changed: 7444 additions & 925 deletions
File tree
- .github
- agents
- workflows
- doc
- configuration
- modules
- schemas
- specs/003-sd-api-v2-migration
- checklists
- contracts
- request-examples
- response-examples
- src
- api
- bin
- tests
- docker
- fixtures
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
| |||
37 | 41 | | |
38 | 42 | | |
39 | 43 | | |
40 | | - | |
41 | 44 | | |
42 | 45 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| 49 | + | |
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | 55 | | |
58 | 56 | | |
59 | 57 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
| 113 | + | |
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| |||
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
132 | 136 | | |
133 | 137 | | |
134 | 138 | | |
| |||
205 | 209 | | |
206 | 210 | | |
207 | 211 | | |
| 212 | + | |
208 | 213 | | |
209 | 214 | | |
210 | 215 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
86 | 86 | | |
87 | 87 | | |
88 | 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 | + | |
89 | 114 | | |
90 | 115 | | |
91 | 116 | | |
| |||
99 | 124 | | |
100 | 125 | | |
101 | 126 | | |
102 | | - | |
103 | | - | |
104 | 127 | | |
105 | 128 | | |
106 | 129 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
| 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 | + | |
93 | 119 | | |
94 | 120 | | |
95 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
| 55 | + | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
0 commit comments