Prateek Kumar
843e13247d
Expose gha_available_jobs and gha_acquired_jobs listener metrics
...
The RunnerScaleSetStatistic struct from the scaleset package provides
TotalAvailableJobs and TotalAcquiredJobs fields, but these were not
being exposed as Prometheus metrics by the listener. This leaves
operators without visibility into the job queue depth for their
scale sets.
Add two new gauge metrics to the ghalistener metrics exporter:
- gha_available_jobs: jobs with matching runs-on labels waiting to be
acquired by the scale set
- gha_acquired_jobs: jobs acquired by the scale set but not yet
assigned to a runner
These metrics complete the exposure of all RunnerScaleSetStatistic
fields and were originally proposed in the metrics ADR
(2023-05-08-exposing-metrics.md) but never implemented.
Made-with: Cursor
2026-04-01 00:22:23 -04:00
Nikola Jokic
9bc1c9e53e
Shutdown the scaleset when runner is deprecated ( #4404 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-19 13:30:20 +01:00
Nikola Jokic
dc7c858e68
Remove actions client ( #4405 )
2026-03-16 14:39:55 +01:00
Nikola Jokic
f99c6eda0b
Moving to scaleset client for the controller ( #4390 )
2026-03-13 14:36:41 +01:00
Nikola Jokic
8b7fd9ffef
Switch client to scaleset library for the listener and update mocks ( #4383 )
2026-02-24 14:17:31 +01:00
Nikola Jokic
c6e4c94a6a
Fix tests and generate mocks ( #4384 )
2026-02-24 13:36:01 +01:00
Yusuke Kuoka
f731873df9
Add workflow name and target labels ( #4240 )
2025-09-30 16:01:51 +02:00
Nikola Jokic
088e2a3a90
Remove ephemeral runner when exit code != 0 and is patched with the job ( #4239 )
2025-09-17 21:40:37 +02:00
calx
e6e621a50a
Remove duplicate float64 call ( #4139 )
2025-06-24 11:26:20 +02:00
Nikola Jokic
e46c929241
Azure Key Vault integration to resolve secrets ( #4090 )
2025-06-11 15:53:33 +02:00
Tingluo Huang
c359d14e69
Avoid nil point when config.Metrics is nil and expose all metrics if none are configured ( #4101 )
...
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com>
2025-06-11 15:51:26 +02:00
Ryo Sakamoto
97697e80b4
Add job_workflow_ref label to listener metrics ( #4054 )
...
Signed-off-by: rskmm0chang <rskmm0chang@hatena.ne.jp>
2025-06-05 08:33:30 +02:00
Nikola Jokic
1dbb88cb9e
Allow use of client id as an app id ( #4057 )
2025-05-16 16:21:06 +02:00
Ryosei Karaki
f832b0b254
upgrade(golangci-lint): v2.1.2 ( #4023 )
...
Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
2025-04-17 16:14:31 +02:00
David Maxwell
ea27448da5
Fix busy runners metric ( #4016 )
2025-04-04 17:17:09 +02:00
Nikola Jokic
5a960b5ebb
Create configurable metrics ( #3975 )
2025-03-24 15:27:42 +01:00
Nikola Jokic
fb9b96bf75
Update all dependencies, conforming to the new controller-runtime API ( #3949 )
2025-03-11 15:52:52 +01:00
Nikola Jokic
7a5996f467
Remove old githubrunnerscalesetlistener, remove warning and fix config bug ( #3937 )
2025-03-07 11:58:16 +01:00
Chris Johnston
ddc872d3ee
metrics cardinality for ghalistener ( #3671 )
...
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com>
2025-02-26 15:34:17 +01:00
Han-Wen Nienhuys
f673a085b0
cmd/ghalistener/config: export Validate ( #3870 )
...
Co-authored-by: Han-Wen Nienhuys <hanwenn@gmail.com>
2025-01-17 12:25:33 +01:00
Nikola Jokic
3bda9bb240
Refresh session if token expires during delete message ( #3529 )
2024-05-17 15:16:38 +02:00
Nikola Jokic
ab92e4edc3
Re-use the last desired patch on empty batch ( #3453 )
2024-05-17 15:12:16 +02:00
Nikola Jokic
f965dfef73
Shutdown metrics server when listener exits ( #3445 )
2024-04-16 21:29:03 +02:00
Nikola Jokic
4ee49fee14
Propagate max capacity information to the actions back-end ( #3431 )
2024-04-16 14:00:40 +02:00
Nikola Jokic
963ae48a3f
Include self correction on empty batch and avoid removing pending runners when cluster is busy ( #3426 )
2024-04-16 12:55:25 +02:00
Nikola Jokic
7a643a5107
Fix overscaling when the controller is much faster then the listener ( #3371 )
...
Co-authored-by: Francesco Renzi <rentziass@gmail.com>
2024-03-20 15:36:12 +01:00
Nikola Jokic
814947c60e
Update metrics to include repository on job-based label ( #3310 )
...
Co-authored-by: Samuel Rats <samuel.rats@teads.com>
2024-03-18 12:45:52 +01:00
Nikola Jokic
7da2d7f96a
Fix acquire jobs after session refresh ghalistener ( #3307 )
2024-02-27 17:37:42 +01:00
Nikola Jokic
f7b6ad901d
Add listener graceful termination period and background context after the message is received ( #3187 )
2024-01-25 15:45:07 +01:00
Nikola Jokic
728f05c844
Delete message session when `listener.Listen` returns ( #3240 )
2024-01-25 15:12:19 +01:00
Nikola Jokic
c00465973e
Publish metrics in the new ghalistener ( #3193 )
2024-01-25 14:46:42 +01:00
Nikola Jokic
a029b705cd
Fix proxy issue in new listener client ( #3181 )
2023-12-21 15:35:36 +01:00
Nikola Jokic
f7eb88ce9c
Change minRunners behavior and fix the new listener min runners ( #3139 )
2023-12-13 19:39:21 +01:00
Nikola Jokic
0fd8eac305
Update user agent for new ghalistener ( #3138 )
2023-12-08 14:01:22 +01:00
Nikola Jokic
b78cadd901
Refactoring listener app with configurable fallback ( #3096 )
2023-12-08 13:41:06 +01:00
Nikola Jokic
202a97ab12
Modify user agent format with subsystem and is proxy configured information ( #3116 )
2023-12-08 13:16:29 +01:00
Nikola Jokic
65fd04540c
Bump go version and all direct dependencies to newest for k8s compatibility ( #2947 )
2023-11-14 16:19:43 +01:00
Nikola Jokic
16815230bb
Metrics: set max and min runners during startup time ( #3032 )
2023-11-07 14:20:10 +01:00
Nikola Jokic
b511953df7
Trim down metrics cardinality ( #3003 )
2023-10-20 12:20:30 +02:00
Nikola Jokic
2117fd1892
Configure listener pod with the secret instead of env ( #2965 )
...
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
2023-10-19 12:29:32 +02:00
Nikola Jokic
07bff8aa1e
Extend the user agent and fix the build version for the listener app ( #2892 )
2023-09-14 20:10:49 +02:00
Nikola Jokic
a0a3916c80
Provide scale-set listener metrics ( #2559 )
...
Co-authored-by: Tingluo Huang <tingluohuang@github.com>
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
2023-08-21 13:50:07 +02:00
Lukas Hauser
78271000c0
Logs - Add missing formatting ( #2780 )
2023-08-09 17:54:24 +09:00
Nikola Jokic
336e11a4e9
Fix scaling back to 0 after min runners were set to number > 0 ( #2742 )
2023-08-09 10:32:08 +02:00
Nikola Jokic
6fe8008640
Add configurable log format to values.yaml and propagate it to listener ( #2686 )
2023-07-05 21:06:42 +02:00
Tingluo Huang
08acb1b831
Get RunnerScaleSet based on both RunnerGroupId and Name. ( #2413 )
2023-03-15 11:10:09 -04:00
Francesco Renzi
c569304271
Add support for self-signed CA certificates ( #2268 )
...
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com>
Co-authored-by: Tingluo Huang <tingluohuang@github.com>
2023-03-09 17:23:32 +00:00
Francesco Renzi
e289fe43d4
Apply proxy settings from environment in listener ( #2366 )
...
Co-authored-by: Tingluo Huang <tingluohuang@github.com>
2023-03-06 19:21:22 +00:00
Piotr Palka
91fddca3f7
Fix webhook server logging ( #2320 )
...
Co-authored-by: Yusuke Kuoka <ykuoka@gmail.com>
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com>
2023-03-06 14:20:46 -05:00
Dimitar
7d0918b6d5
Allow custom graceful termination and loadBalancerSourceRanges for the githubwebhook service ( #2305 )
...
Co-authored-by: Dimitar Hristov <dimitar.hristov@skyscanner.net>
2023-02-25 14:18:29 +09:00