Nikola Jokic and Copilot App
7833438dd7
Handle scale set messages with parallel workers in the listener
...
The scaleset listener no longer dissects the message it polls. It owns
session management, polling and acking, and hands the whole message to a
single Scale call, so acquiring jobs and recording metrics move to the
only component that still reads them.
That handover is what makes the work parallelisable. The listener used to
replay a message one API call at a time, in a fixed order: every job
started patch, then every job completed, then the scale patch. The job
events touch distinct EphemeralRunners and carry no ordering between
them, so they now run across a bounded worker pool, with the worker that
patches the EphemeralRunnerSet running alongside them.
The one ordering that does matter is kept. deleteIdleEphemeralRunners
skips a runner only once it carries a job request ID, so a patch that
lowers the replica count could offer up a runner that just picked up a
job if it were published while job started patches were still in flight.
The scaling worker therefore waits for the event workers on a scale down,
and only then. A patch that scales up or holds cannot delete anything.
Kubernetes has no bulk write: get, create, update, patch and delete are
single-resource verbs, and deletecollection is the only collection-scoped
mutating verb there is, so N events cannot be collapsed into fewer
requests. Server side apply is a PATCH on one object URI and does not
change that. Issuing the N patches concurrently over the one HTTP/2
connection is the available win; the alternative is writing fewer
objects, which trades N cheap independent writes for one contended,
watch-amplifying, size-bounded write.
The pool size is configurable through listenerConfig.scaler.workers,
alongside the existing qps and burst, and defaults to 10: two calls per
event keeps a full pool well inside the default QPS budget.
Statistics are now cached by the scaler. The listener stopped tracking
them, and a long poll that times out carries no message at all, so
without the cache an idle scale set would stop converging.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-18 15:05:54 +02:00
Junya Okabe
87592be6d3
Remove orphaned testserver package ( #4620 )
2026-09-07 10:40:28 +02:00
dependabot[bot]
a4ac89e2a7
Bump golang.org/x/crypto from 0.51.0 to 0.52.0 ( #4562 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-03 16:45:00 +01:00
Diogo Torres
3cfdcf59fe
Re-register the runner scale set when it is gone from the Actions service ( #4571 )
2026-09-03 08:16:06 +01:00
dependabot[bot]
c7005c3696
Bump the gomod group across 1 directory with 11 updates ( #4529 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 13:08:17 +02:00
dependabot[bot] and Jiaren Wu
0dc5f8a0c2
Bump the gomod group across 1 directory with 9 updates ( #4508 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jiaren Wu <jiaren-wu@github.com >
2026-05-30 00:55:53 +02:00
Nikola Jokic
7638475e3c
Bump Go to 1.26.3 ( #4504 )
2026-05-22 12:04:06 +02:00
63ef8241a0
Bump Go to 1.26.2 to fix critical security vulnerabilities ( #4491 )
...
Co-authored-by: Dhawal Seth <dseth@linkedin.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-05-22 09:54:37 +01:00
Francesco Renzi
eb1544f848
Bump actions/scaleset to v0.3.0 ( #4447 )
2026-04-14 14:08:22 +01:00
Nikola Jokic
276717a04b
Manually bump dependencies since it needs fixes related to the controller runtime API ( #4406 )
2026-03-16 10:09:36 +01:00
Nikola Jokic
f99c6eda0b
Moving to scaleset client for the controller ( #4390 )
2026-03-13 14:36:41 +01:00
Nikola Jokic
cd5b93d1bc
Bump Go version ( #4398 )
2026-03-11 10:24:20 +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
dependabot[bot]
180e0dabb2
Bump the gomod group across 1 directory with 10 updates ( #4338 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-16 14:05:44 +01:00
dependabot[bot] and Nikola Jokic
fdf78189ab
Bump golang.org/x/crypto from 0.43.0 to 0.45.0 ( #4318 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2025-11-21 17:14:05 +01:00
dependabot[bot] and Nikola Jokic
837406ae01
Bump the gomod group across 1 directory with 11 updates ( #4317 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2025-11-21 14:49:28 +01:00
dependabot[bot]
27d03ef2e2
Bump the gomod group across 1 directory with 4 updates ( #4277 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 01:31:29 +02:00
Nikola Jokic
634e42c916
Bump all dependencies ( #4266 )
2025-10-14 13:24:25 +02:00
dependabot[bot]
6f3882c482
Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 ( #4120 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-11 21:43:46 +02:00
Nikola Jokic
e46c929241
Azure Key Vault integration to resolve secrets ( #4090 )
2025-06-11 15:53:33 +02:00
dependabot[bot]
eef57e1a77
Bump github.com/cloudflare/circl from 1.6.0 to 1.6.1 ( #4118 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-11 11:46:20 +02:00
Nikola Jokic
d6e2790db5
Bump go version ( #4075 )
2025-05-14 13:51:47 +02:00
dependabot[bot] and Nikola Jokic
462db4dfc8
Bump the gomod group across 1 directory with 7 updates ( #4008 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2025-04-07 16:51:07 +02:00
dependabot[bot]
344c242785
Bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2 ( #3984 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 15:09:26 +01:00
Nikola Jokic
fb9b96bf75
Update all dependencies, conforming to the new controller-runtime API ( #3949 )
2025-03-11 15:52:52 +01:00
dependabot[bot] and Nikola Jokic
4dd68f1a89
Bump golang.org/x/net from 0.25.0 to 0.33.0 ( #3881 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2025-01-21 14:04:55 +01:00
dependabot[bot] and Bassem Dghaidi
fd8f76b91c
Bump golang.org/x/crypto from 0.22.0 to 0.31.0 ( #3844 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com >
2024-12-13 15:57:08 +01:00
dependabot[bot] and Bassem Dghaidi
3c14ee0652
Bump github.com/bradleyfalzon/ghinstallation/v2 from 2.8.0 to 2.12.0 ( #3837 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com >
2024-12-11 21:38:46 +01:00
dependabot[bot]
8535a24135
Bump github.com/hashicorp/go-retryablehttp from 0.7.5 to 0.7.7 ( #3623 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-25 10:18:13 +02:00
Nikola Jokic
0a6208e38d
Bump Go patch version to 1.22.4 ( #3593 )
2024-06-17 10:36:23 +02:00
dependabot[bot]
a1b8e0cc3d
Bump golang.org/x/sync from 0.6.0 to 0.7.0 ( #3482 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 08:53:19 +02:00
dependabot[bot]
2889029bc5
Bump github.com/onsi/gomega from 1.30.0 to 1.33.0 ( #3462 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 12:56:43 +02:00
dependabot[bot]
87f2e00971
Bump go.uber.org/zap from 1.26.0 to 1.27.0 ( #3442 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 12:56:05 +02:00
dependabot[bot] and Nikola Jokic
d9af241a7d
Bump golang.org/x/oauth2 from 0.15.0 to 0.19.0 ( #3441 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2024-04-29 12:55:24 +02:00
dependabot[bot] and Nikola Jokic
1987d9eb2e
Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 ( #3418 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2024-04-12 15:01:52 +02:00
Nikola Jokic
86f1714354
Revert "Bump k8s.io/client-go from 0.28.4 to 0.29.3 ( #3416 )" ( #3432 )
2024-04-12 13:51:44 +02:00
dependabot[bot] and Nikola Jokic
f68bbad579
Bump k8s.io/client-go from 0.28.4 to 0.29.3 ( #3416 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2024-04-12 13:12:02 +02:00
dependabot[bot]
d3a8a34bb2
Bump golang.org/x/net from 0.20.0 to 0.24.0 ( #3417 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-09 07:42:41 +02:00
dependabot[bot]
d515b4a6e0
Bump github.com/onsi/ginkgo/v2 from 2.13.1 to 2.17.1 ( #3379 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 10:17:02 +02:00
dependabot[bot]
d971fedbe8
Bump github.com/evanphx/json-patch from 5.7.0+incompatible to 5.9.0+incompatible ( #3398 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 10:11:10 +02:00
dependabot[bot]
6c6d061f0a
Bump github.com/cloudflare/circl from 1.3.6 to 1.3.7 ( #3206 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 14:57:24 -04:00
dependabot[bot] and Nikola Jokic
442d52cd56
Bump github.com/go-logr/logr from 1.3.0 to 1.4.1 ( #3383 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2024-03-26 15:19:39 +01:00
dependabot[bot]
9968141086
Bump golang.org/x/sync from 0.5.0 to 0.6.0 ( #3384 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-26 09:27:58 +01:00
dependabot[bot] and Nikola Jokic
e59d127d41
Bump golang.org/x/crypto from 0.16.0 to 0.17.0 ( #3173 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2024-03-25 16:28:31 +01:00
dependabot[bot] and Nikola Jokic
fb1232c13e
Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 ( #3349 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2024-03-22 18:04:34 +01:00
Nikola Jokic
f225fef921
Bump Go version to 1.22.1 ( #3290 )
2024-03-18 12:46:30 +01:00
dependabot[bot]
9b053102ed
Bump github.com/google/uuid from 1.4.0 to 1.6.0 ( #3253 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-06 15:05:09 +01:00
dependabot[bot] and Nikola Jokic
3e4201ac5f
Bump k8s.io/client-go from 0.28.3 to 0.28.4 ( #3125 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2023-12-14 12:58:35 +01:00
dependabot[bot]
a44b037d6b
Bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 ( #3127 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-14 12:57:42 +01:00
dependabot[bot] and Nikola Jokic
e11beea49b
Bump golang.org/x/net from 0.18.0 to 0.19.0 ( #3126 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2023-12-14 09:45:22 +01:00