Nikola Jokic and Copilot App
ec793dfe9f
Track runner spec updates with an actionable revision
...
When the AutoscalingRunnerSet's runner spec changes, the EphemeralRunnerSet
has to delete its idle and pending runners so they are rebuilt from the new
spec. That was detected by hashing Spec.EphemeralRunnerSpec into the
actions.github.com/integrity-hash annotation and comparing the annotation
against a freshly computed hash.
Replace it with a monotonic revision counter split across spec and status.
The AutoscalingRunnerSet controller bumps Spec.ActionableRevision when it
patches a new runner spec across; the EphemeralRunnerSet controller advances
Status.AppliedActionableRevision only after the cleanup has actually
succeeded. Because the applied marker lives in status and is written last, a
controller that crashes part-way through the cleanup comes back with the
applied revision still behind the spec revision and redoes the work, instead
of skipping runners that are still running the old spec.
The drift check uses apiequality.Semantic.DeepEqual rather than cmp.Equal or
reflect.DeepEqual. Most PodSpec collection fields carry omitempty, so a
template containing an explicitly empty value (`env: []`) is dropped when the
EphemeralRunnerSet is written and reads back as nil. A strict comparison would
report drift on every reconcile, bump the revision each time, and delete every
idle and pending runner forever. helpers_drift_test.go pins that behaviour with
a round-trip-through-JSON test.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-10 22:56:48 +02:00
Nikola Jokic
54147cfa5e
Introduce cache for lookups of desired resource state, to reduce the amount of allocations in the controller ( #4568 )
2026-09-07 13:49:28 +02:00
Nikola Jokic
f6a3d738de
Use metrics to display runner statuses instead of status field for EphemeralRunnerSet and AutoscalingRunnerSet ( #4557 )
2026-07-14 19:31:11 +02:00
Nikola Jokic
368e2f28b8
Use Patch instead of Update ( #4533 )
2026-07-10 12:34:40 +02:00
Nikola Jokic
767e58e4b1
Upgrade resources in-place, causing 1-1 mapping between autoscaling runner set and ephemeral runner set ( #4516 )
2026-06-09 13:52:37 +02:00
Junya Okabe
a401686bd5
Add option to disable workqueue bucket rate limiter ( #4451 )
2026-04-22 23:26:39 +02:00
Nikola Jokic and Copilot Autofix powered by AI
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
088e2a3a90
Remove ephemeral runner when exit code != 0 and is patched with the job ( #4239 )
2025-09-17 21:40:37 +02:00
Nikola Jokic
e46c929241
Azure Key Vault integration to resolve secrets ( #4090 )
2025-06-11 15:53:33 +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
Nikola Jokic
fb9b96bf75
Update all dependencies, conforming to the new controller-runtime API ( #3949 )
2025-03-11 15:52:52 +01:00
Nikola Jokic
2dab45c373
Wrap errors in controller helper methods and swap logic in cleanups ( #3960 )
2025-03-07 11:58:53 +01:00
Nikola Jokic
a62ca3d853
Exclude label prefix propagation ( #3607 )
2024-06-21 12:12:14 +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
fa7a4f584e
Extract single place to set up indexers ( #3454 )
2024-05-17 14:42:46 +02:00
Nikola Jokic and Francesco Renzi
8075e5ee74
Refactor actions client error to include request id ( #3430 )
...
Co-authored-by: Francesco Renzi <rentziass@gmail.com >
2024-04-16 12:57:44 +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 and Francesco Renzi
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
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
Nikola Jokic
ba1ac0990b
Reordering methods and constants so it is easier to look it up ( #2501 )
2023-04-12 09:50:23 +02:00
Nikola Jokic
b86af190f7
Extend manager roles to accept ephemeralrunnerset/finalizers ( #2493 )
2023-04-10 08:49:32 +02:00
Nikola Jokic and Tingluo Huang
56e1c62ac2
Add labels to autoscaling runner set subresources to allow easier inspection ( #2391 )
...
Co-authored-by: Tingluo Huang <tingluohuang@github.com >
2023-03-27 11:19:34 +02:00
Nikola Jokic
babbfc77d5
Surface EphemeralRunnerSet stats to AutoscalingRunnerSet ( #2382 )
2023-03-13 16:16:28 +01:00
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
6b4250ca90
Add support for proxy ( #2286 )
...
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
Co-authored-by: Tingluo Huang <tingluohuang@github.com >
Co-authored-by: Ferenc Hammerl <fhammerl@github.com >
2023-02-21 17:33:48 +00:00
Nikola Jokic
9990243520
Early return if finalizer does not exist to make it more readable ( #2262 )
2023-02-08 15:21:13 +01:00
Tingluo Huang
facae69e0b
Remove un-required permissions for the manager-role of the new AutoScalingRunnerSet ( #2260 )
2023-02-07 12:37:09 -05:00
dependabot[bot] and Yusuke Kuoka
219ba5b477
chore(deps): bump sigs.k8s.io/controller-runtime from 0.13.1 to 0.14.1 ( #2132 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yusuke Kuoka <ykuoka@gmail.com >
2023-01-27 09:23:28 +09:00
622eaa34f8
Introduce new preview auto-scaling mode for ARC. ( #2153 )
...
Co-authored-by: Cory Miller <cory-miller@github.com >
Co-authored-by: Nikola Jokic <nikola-jokic@github.com >
Co-authored-by: Ava Stancu <AvaStancu@github.com >
Co-authored-by: Ferenc Hammerl <fhammerl@github.com >
Co-authored-by: Francesco Renzi <rentziass@github.com >
Co-authored-by: Bassem Dghaidi <Link-@github.com >
2023-01-17 12:06:20 -05:00