Nikola Jokic and Copilot App
854c0517a7
Make the Outdated phase revision-aware
...
An EphemeralRunner that exits as Outdated marks its EphemeralRunnerSet
Outdated, and the AutoscalingRunnerSet then stops scaling it. Without a way
to tell which runner spec an Outdated report refers to, a report from a
runner built before the spec was updated keeps the set switched off after
the update that was supposed to fix it.
Stamp each runner with the actionable revision it was built from, and judge
Outdated reports against the revision the set has applied:
- A runner whose revision is older than the applied one is reporting on a
spec that has already been replaced. It is deleted and rebuilt from the
current spec, and it does not hold the set Outdated.
- A runner whose revision is current is reporting on the live spec, so the
set stays Outdated. It is deliberately not delete-and-replaced: a fresh
runner at the same revision would report Outdated again, forever.
Runners without the annotation parse to revision 0, which matches the zero
value of Status.AppliedActionableRevision, so existing runners keep their
current behaviour across an upgrade.
The phase is derived inside patchAppliedActionableRevisionStatus, from a
list read through the same authoritative reader as the set itself, because
the optimistic lock on that patch covers the EphemeralRunnerSet object only
and cannot vouch for a separately-read list. The runners are classified
against the live applied revision rather than the revision this call was
asked to apply: the caller reads the spec from the cache while this function
re-reads the status from the API server, so a lagging reconcile can arrive
with a target behind the live marker, and judging against it would flip a
set that has already moved on back to Outdated.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-12 23:18:26 +02:00
6f89d057c0
Track runner spec updates with an actionable revision ( #4638 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-09-11 12:44:03 +00:00
Nikola Jokic and Copilot App
5581cd0c54
Track AutoscalingRunnerSet updates with metadata.generation ( #4636 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-11 14:38:30 +02:00
c475023e28
Fix EphemeralRunnerSet metadata drift check comparing against the wrong value ( #4634 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-09-10 11:52:08 +02:00
Nikola Jokic
c3dfb396d3
Fix nil ResourceCache panic in stale scale set tests ( #4628 )
2026-09-08 12:34:45 +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
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
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
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
Nikola Jokic
30879de182
Fix patch on autoscaling runner set when creating a runner scale set ( #4502 )
2026-05-22 17:51:47 +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
f99c6eda0b
Moving to scaleset client for the controller ( #4390 )
2026-03-13 14:36:41 +01:00
Nikola Jokic
95d2107a6a
Code style changes on the controller ( #4324 )
2025-11-21 14:20:44 +01: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
b349ded2be
Increase test timeouts to avoid CI test failures ( #3554 )
2024-06-21 13:45:48 +02:00
Nikola Jokic
c9099a5a56
Add annotation with values hash to re-create listener ( #3195 )
2024-03-19 14:29:49 +01:00
Hidehito Yabuuchi
48706584fd
Propagate runner scale set name annotation to EphemeralRunner ( #3098 )
2024-03-19 12:50:49 +01: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
Bassem Dghaidi
8afef51c8b
Add DrainJobsMode (aka UpdateStrategy feature) ( #2569 )
2023-05-23 07:42:30 -04:00
Nikola Jokic and Bassem Dghaidi
9859bbc7f2
Use build.Version to check if resource version is a mismatch ( #2521 )
...
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com >
2023-04-24 10:40:15 +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 and Tingluo Huang
5dea6db412
Fix helm uninstall cleanup by adding finalizers and cleaning them from the controller ( #2433 )
...
Co-authored-by: Tingluo Huang <tingluohuang@github.com >
2023-04-03 21:06:12 +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
Chris Patterson and TingluoHuang
41f2ca3ed9
Adding parameter to configure the runner set name. ( #2279 )
...
Co-authored-by: TingluoHuang <TingluoHuang@github.com >
2023-03-03 08:36:14 -05:00
Francesco Renzi
40c905f25d
Simplify the setup of controller tests ( #2352 )
2023-03-02 18:55:49 +00:00
Francesco Renzi
73e22a1756
Disable metrics serving in proxy tests ( #2307 )
2023-02-22 16:57:59 +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
c4297d25bb
Avoid deleting scale set if annotation is not parsable or if it does not exist ( #2239 )
2023-02-03 17:27:31 +01:00
Tingluo Huang
1f4fe4681e
Delete RunnerScaleSet on service when AutoScalingRunnerSet is deleted. ( #2223 )
2023-01-31 15:03:11 -05:00
Tingluo Huang
803818162c
Allow update runner group for AutoScalingRunnerSet ( #2216 )
2023-01-27 09:27:52 -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
Nikola Jokic
882bfab569
Renaming autoScaling to autoscaling in tests matching the convention ( #2201 )
2023-01-23 17:03:01 +01: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