Use metrics to display runner statuses instead of status field for EphemeralRunnerSet and AutoscalingRunnerSet

This commit is contained in:
Nikola Jokic
2026-07-14 19:55:19 +02:00
parent 7803f191b1
commit 6d2a1cdcce
30 changed files with 532 additions and 749 deletions
+16 -14
View File
@@ -51,8 +51,10 @@ spec:
description: AutoscalingListenerSpec defines the desired state of AutoscalingListener
properties:
autoscalingRunnerSetName:
description: Required
type: string
autoscalingRunnerSetNamespace:
description: Required
type: string
configSecretMetadata:
description: ResourceMeta carries metadata common to all internal
@@ -68,17 +70,21 @@ spec:
type: object
type: object
ephemeralRunnerSetName:
description: Required
type: string
githubConfigSecret:
description: Required
type: string
githubConfigUrl:
description: Required
type: string
githubServerTLS:
properties:
certificateFrom:
description: Required
properties:
configMapKeyRef:
description: Selects a key from a ConfigMap.
description: Required
properties:
key:
description: The key to select.
@@ -100,15 +106,13 @@ spec:
- key
type: object
x-kubernetes-map-type: atomic
required:
- configMapKeyRef
type: object
required:
- certificateFrom
type: object
image:
description: Required
type: string
imagePullSecrets:
description: Required
items:
description: |-
LocalObjectReference contains enough information to let you locate the
@@ -127,6 +131,7 @@ spec:
x-kubernetes-map-type: atomic
type: array
maxRunners:
description: Required
minimum: 0
type: integer
metrics:
@@ -178,6 +183,7 @@ spec:
type: object
type: object
minRunners:
description: Required
minimum: 0
type: integer
proxy:
@@ -187,18 +193,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
@@ -232,7 +236,7 @@ spec:
type: object
type: object
runnerScaleSetId:
minimum: 1
description: Required
type: integer
serviceAccountMetadata:
description: ResourceMeta carries metadata common to all internal
@@ -8778,18 +8782,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
@@ -21,21 +21,9 @@ spec:
- jsonPath: .spec.maxRunners
name: Maximum Runners
type: integer
- jsonPath: .status.currentRunners
name: Current Runners
type: integer
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .status.pendingEphemeralRunners
name: Pending Runners
type: integer
- jsonPath: .status.runningEphemeralRunners
name: Running Runners
type: integer
- jsonPath: .status.failedEphemeralRunners
name: Failed Runners
type: integer
name: v1alpha1
schema:
openAPIV3Schema:
@@ -110,15 +98,18 @@ spec:
type: object
type: object
githubConfigSecret:
description: Required
type: string
githubConfigUrl:
description: Required
type: string
githubServerTLS:
properties:
certificateFrom:
description: Required
properties:
configMapKeyRef:
description: Selects a key from a ConfigMap.
description: Required
properties:
key:
description: The key to select.
@@ -139,11 +130,7 @@ spec:
- key
type: object
x-kubernetes-map-type: atomic
required:
- configMapKeyRef
type: object
required:
- certificateFrom
type: object
listenerConfigSecretMetadata:
description: ResourceMeta carries metadata common to all internal resources
@@ -8364,18 +8351,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
@@ -8391,7 +8376,7 @@ spec:
runnerScaleSetName:
type: string
template:
description: PodTemplateSpec describes the data a pod should have when created from a template
description: Required
properties:
metadata:
description: |-
@@ -16517,18 +16502,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
+10 -13
View File
@@ -89,9 +89,10 @@ spec:
githubServerTLS:
properties:
certificateFrom:
description: Required
properties:
configMapKeyRef:
description: Selects a key from a ConfigMap.
description: Required
properties:
key:
description: The key to select.
@@ -112,11 +113,7 @@ spec:
- key
type: object
x-kubernetes-map-type: atomic
required:
- configMapKeyRef
type: object
required:
- certificateFrom
type: object
metadata:
description: |-
@@ -147,18 +144,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
@@ -8273,18 +8268,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
@@ -8297,6 +8290,10 @@ spec:
It is used to identify which vault integration should be used to resolve secrets.
type: string
type: object
required:
- githubConfigSecret
- githubConfigUrl
- runnerScaleSetId
type: object
status:
description: EphemeralRunnerStatus defines the observed state of EphemeralRunner
+12 -13
View File
@@ -83,9 +83,10 @@ spec:
githubServerTLS:
properties:
certificateFrom:
description: Required
properties:
configMapKeyRef:
description: Selects a key from a ConfigMap.
description: Required
properties:
key:
description: The key to select.
@@ -106,11 +107,7 @@ spec:
- key
type: object
x-kubernetes-map-type: atomic
required:
- configMapKeyRef
type: object
required:
- certificateFrom
type: object
metadata:
description: |-
@@ -141,18 +138,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
@@ -8267,18 +8262,16 @@ spec:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
https:
properties:
credentialSecretRef:
type: string
url:
description: Required
type: string
required:
- url
type: object
noProxy:
items:
@@ -8291,6 +8284,10 @@ spec:
It is used to identify which vault integration should be used to resolve secrets.
type: string
type: object
required:
- githubConfigSecret
- githubConfigUrl
- runnerScaleSetId
type: object
patchID:
description: PatchID is the unique identifier for the patch issued by the listener app
@@ -8298,6 +8295,8 @@ spec:
replicas:
description: Replicas is the number of desired EphemeralRunner resources in the k8s namespace.
type: integer
required:
- patchID
type: object
status:
description: EphemeralRunnerSetStatus defines the observed state of EphemeralRunnerSet
+2 -2
View File
@@ -52,7 +52,7 @@ rules:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- actions.github.com
@@ -167,5 +167,5 @@ rules:
- delete
- get
- list
- patch
- update
- watch