Commit d553b94
authored
feat: add optional separate GitHub token for runners polling (#10)
## Summary
- Add optional `runners_token` config field for listing self-hosted
runners separately from the dispatch token
- Update status endpoint to expose rate limits for both GitHub clients
(runners and dispatch)
- Update UI StatusIndicator to display rate limits for both clients
separately
## Details
When `runners_token` is configured, the system uses two separate GitHub
clients:
- **Runners client**: Uses `runners_token` for polling runner status
- **Dispatch client**: Uses `token` for triggering workflows
If `runners_token` is not set, both operations fall back to the main
`token`.
The `/api/v1/status` endpoint now returns:
```json
{
"github": {
"runners": { "status": "healthy", "rate_limit_remaining": 4850, ... },
"dispatch": { "status": "healthy", "rate_limit_remaining": 4900, ... }
}
}
```
## Test plan
- [x] Build and run server with only `token` configured - verify both
clients show same rate limits
- [x] Build and run server with both `token` and `runners_token` -
verify separate rate limits shown
- [x] Verify UI StatusIndicator displays both clients correctly
- [x] Verify runner polling works with `runners_token`
- [x] Verify workflow dispatch works with `token`1 parent 10e66af commit d553b94
6 files changed
Lines changed: 190 additions & 94 deletions
File tree
- cmd/dispatchoor
- pkg
- api
- config
- ui/src
- components/layout
- types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
84 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
85 | 89 | | |
86 | 90 | | |
87 | 91 | | |
88 | | - | |
89 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
90 | 96 | | |
91 | | - | |
| 97 | + | |
92 | 98 | | |
93 | 99 | | |
94 | 100 | | |
95 | 101 | | |
96 | | - | |
97 | | - | |
| 102 | + | |
| 103 | + | |
98 | 104 | | |
99 | 105 | | |
100 | 106 | | |
101 | | - | |
102 | | - | |
103 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
104 | 110 | | |
105 | 111 | | |
106 | 112 | | |
| |||
112 | 118 | | |
113 | 119 | | |
114 | 120 | | |
115 | | - | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
116 | 143 | | |
117 | 144 | | |
118 | | - | |
| 145 | + | |
119 | 146 | | |
120 | 147 | | |
121 | 148 | | |
| |||
127 | 154 | | |
128 | 155 | | |
129 | 156 | | |
130 | | - | |
| 157 | + | |
131 | 158 | | |
132 | 159 | | |
133 | | - | |
134 | | - | |
| 160 | + | |
| 161 | + | |
135 | 162 | | |
136 | 163 | | |
137 | 164 | | |
| |||
142 | 169 | | |
143 | 170 | | |
144 | 171 | | |
145 | | - | |
146 | | - | |
147 | 172 | | |
148 | 173 | | |
149 | 174 | | |
| |||
156 | 181 | | |
157 | 182 | | |
158 | 183 | | |
159 | | - | |
| 184 | + | |
160 | 185 | | |
161 | 186 | | |
162 | 187 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
49 | 50 | | |
50 | | - | |
| 51 | + | |
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
62 | 64 | | |
63 | 65 | | |
64 | 66 | | |
| |||
367 | 369 | | |
368 | 370 | | |
369 | 371 | | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
| 372 | + | |
| 373 | + | |
377 | 374 | | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
386 | 383 | | |
387 | 384 | | |
388 | | - | |
389 | | - | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
390 | 391 | | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | 392 | | |
395 | | - | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
396 | 397 | | |
397 | | - | |
| 398 | + | |
398 | 399 | | |
399 | 400 | | |
400 | 401 | | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
| 402 | + | |
406 | 403 | | |
407 | 404 | | |
408 | 405 | | |
409 | 406 | | |
410 | 407 | | |
411 | 408 | | |
412 | 409 | | |
413 | | - | |
414 | | - | |
| 410 | + | |
| 411 | + | |
415 | 412 | | |
416 | 413 | | |
417 | 414 | | |
418 | 415 | | |
419 | 416 | | |
420 | 417 | | |
421 | 418 | | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
422 | 430 | | |
423 | 431 | | |
424 | 432 | | |
| |||
1127 | 1135 | | |
1128 | 1136 | | |
1129 | 1137 | | |
1130 | | - | |
1131 | | - | |
| 1138 | + | |
| 1139 | + | |
1132 | 1140 | | |
1133 | 1141 | | |
1134 | 1142 | | |
1135 | 1143 | | |
1136 | 1144 | | |
1137 | 1145 | | |
1138 | | - | |
| 1146 | + | |
1139 | 1147 | | |
1140 | 1148 | | |
1141 | 1149 | | |
1142 | 1150 | | |
1143 | 1151 | | |
1144 | | - | |
| 1152 | + | |
1145 | 1153 | | |
1146 | 1154 | | |
1147 | 1155 | | |
| |||
1320 | 1328 | | |
1321 | 1329 | | |
1322 | 1330 | | |
1323 | | - | |
1324 | | - | |
| 1331 | + | |
| 1332 | + | |
1325 | 1333 | | |
1326 | 1334 | | |
1327 | 1335 | | |
| |||
1330 | 1338 | | |
1331 | 1339 | | |
1332 | 1340 | | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
1333 | 1347 | | |
1334 | 1348 | | |
1335 | 1349 | | |
| |||
1346 | 1360 | | |
1347 | 1361 | | |
1348 | 1362 | | |
1349 | | - | |
1350 | | - | |
1351 | | - | |
1352 | | - | |
1353 | | - | |
1354 | | - | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
1355 | 1369 | | |
1356 | 1370 | | |
1357 | 1371 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| |||
475 | 476 | | |
476 | 477 | | |
477 | 478 | | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
478 | 494 | | |
479 | 495 | | |
480 | 496 | | |
| |||
0 commit comments