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
Nikola Jokic and Copilot App
03328aa14f
Remove the integrity hash annotation ( #4643 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-11 18:27:55 +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
0cfedfbb2c
Detect listener pod drift by comparing the pod, not a hash ( #4635 )
...
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-09-10 22:56:43 +02:00
Nikola Jokic
7c68e1d318
Set listener qps and burst ( #4558 )
2026-09-08 15:49:58 +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
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
8c84ab2f42
Fix empty GVK in OwnerReferences for modern controllers ( #4475 )
2026-04-29 19:29:09 +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
1d9f626c53
Allow users to apply labels and annotations to internal resources ( #4400 )
2026-03-12 10:32:54 +01:00
gateixeira and Nikola Jokic
1f615c1a33
feat: add default linux nodeSelector to listener pod ( #4377 )
...
Co-authored-by: Nikola Jokic <jokicnikola07@gmail.com >
2026-02-24 17:56:39 +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
95d2107a6a
Code style changes on the controller ( #4324 )
2025-11-21 14:20:44 +01:00
Nikola Jokic
6d07b8d853
Add ephemeral runner finalizer during creation and check finalizer without requeue ( #4320 )
2025-11-20 23:06:27 +01:00
Nikola Jokic
3d73636407
Use combination of namespace, GitHub URL, and runner group when hashing the listener name ( #4299 )
2025-11-10 13:58:16 +01:00
Nikola Jokic
c27541140a
Remove JIT config from ephemeral runner status field ( #4191 )
2025-08-04 12:35:04 +02:00
Nikola Jokic
e46c929241
Azure Key Vault integration to resolve secrets ( #4090 )
2025-06-11 15:53:33 +02:00
Nikola Jokic
1dbb88cb9e
Allow use of client id as an app id ( #4057 )
2025-05-16 16:21:06 +02:00
Nikola Jokic
43f1cd0dac
Refactor resource naming removing unnecessary calculations ( #4076 )
2025-05-15 10:56:34 +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
5a960b5ebb
Create configurable metrics ( #3975 )
2025-03-24 15:27:42 +01:00
kahirokunn
eaa3f2a3a0
chore: Added OwnerReferences during resource creation for EphemeralRunnerSet, EphemeralRunner, and EphemeralRunnerPod ( #3575 )
2025-03-19 15:03:20 +01:00
Nikola Jokic
d8f1a61ab6
Clean up as much as possible in a single pass for the EphemeralRunner reconciler ( #3941 )
2025-03-10 11:03:45 +01:00
Nikola Jokic
7a5996f467
Remove old githubrunnerscalesetlistener, remove warning and fix config bug ( #3937 )
2025-03-07 11:58:16 +01:00
&es
7ccc177b84
Sanitize labels ending in hyphen, underscore, and dot ( #3664 )
2025-02-18 15:15:39 +01:00
Nikola Jokic
a62ca3d853
Exclude label prefix propagation ( #3607 )
2024-06-21 12:12:14 +02:00
Bryan Peterson
109750f816
propogate arbitrary labels from runnersets to all created resources ( #3157 )
2024-04-23 11:19:32 +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
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
c00465973e
Publish metrics in the new ghalistener ( #3193 )
2024-01-25 14:46:42 +01:00
Serge
d7d479172d
Fix override listener pod spec ( #3139 ) ( #3161 )
...
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-12-18 16:50:06 +01:00
Nikola Jokic
b78cadd901
Refactoring listener app with configurable fallback ( #3096 )
2023-12-08 13:41:06 +01:00
Nikola Jokic
2939640fa9
Add ResizePolicy and RestartPolicy on mergeListenerContainer ( #3075 )
2023-11-15 10:39:11 +01:00
Nikola Jokic
95487735a2
Remove inheritance of imagePullPolicy from manager to listeners ( #3009 )
2023-11-07 15:08:36 +01:00
Nikola Jokic and Bassem Dghaidi
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 and Hidetake Iwata
fdf7b6c525
Fix nil map when annotations are applied ( #2916 )
...
Co-authored-by: Hidetake Iwata <int128@gmail.com >
2023-09-26 11:21:16 +02:00
Nikola Jokic and Bassem Dghaidi
ea2fb32e20
Extend and generate crds allowing listener pod spec change ( #2758 )
...
Co-authored-by: Bassem Dghaidi <568794+Link-@users.noreply.github.com >
2023-09-14 15:33:29 +02: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
6fe8008640
Add configurable log format to values.yaml and propagate it to listener ( #2686 )
2023-07-05 21:06:42 +02:00
Nikola Jokic
94934819c4
Trim repo/org/enterprise to 63 characters in label values ( #2657 )
2023-06-09 20:57:20 +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
a804bf8b00
Add ImagePullPolicy to the AutoscalingListener, configurable through Manager env ( #2477 )
2023-04-04 19:07:20 +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
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
Nikola Jokic
2984de912c
Split listener pod label to avoid long names issue ( #2341 )
2023-03-02 17:25:50 +01: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
Tingluo Huang
bb61bb1342
Include extra user-agent for runners created by actions-runner-controller. ( #2177 )
2023-01-18 07:38:59 +09:00